# Not able to ping, "ping: host is down".



## R6exe (Jun 8, 2020)

Hi, I installed FreeBSD on an old computer, which has a 3com 3C900-COMBO NIC.
The problem here is that it looks like it detects the NIC, and installs the driver for it, which is called "xl", but unfortunately, it doesn't look like the interface is working properly.
This is because I've got a Hub which tells me if a host is connected to it, and it appears that the computer which has the 3com NIC doesn't appear to be connected.
This is a little bit strange, because when I power on the machine, and FreeBSD starts booting, when I check the leds of the hub, it appears that is connected the FreeBSD machine, but when it's getting to the login prompt, it dissapears.
When I try to make ping to one of the other host on my network, and check the Hub leds, it looks like the led that belongs to the 3com NIC starts like blinking, but nothing else happens.
The command ifconfig xl0 gives me this:


```
xl0: flags=8843<UP, BROADCAST, RUNNING, SIMPLEX, MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:60:97:12:6c:70
inet 192.168.2.8 netmask 0xffffff00 broadcast 192.168.2.255
media: Ethernet 10baseT/UTP (10baseT/UTP <half-duplex>)
status: active
nd6 options=29<PERFORMNUD, IFDISABLED, AUTO_LINKLOCAL>
```

I tried the Live Session and the Hub saw the FreeBSD machine in live.
In Linux the NIC works perfectly.
In Windows too.
I tried to add in /etc/rc.conf gateway_enable="YES", and nothing, I tried too in the /boot/loader if_xl_load="YES" and nothing.

I don't know what I can do now.

Thank you so much for your answers and help.
Cheers.


----------



## Jose (Jun 9, 2020)

Does dmesg(8) say anything interesting?


----------



## SirDice (Jun 9, 2020)

R6exe said:


> tried to add in /etc/rc.conf gateway_enable="YES", and nothing, I tried too in the /boot/loader if_xl_load="YES" and nothing.


The  `gateway_enable` is only needed if you need to route between  two or more interfaces. There's no need to load if_xl(4) because the card is recognised and apparently working (according to ifconfig(8)). 



R6exe said:


> When I try to make ping to one of the other host on my network, and check the Hub leds, it looks like the led that belongs to the 3com NIC starts like blinking, but nothing else happens.


Nobody uses hubs any more, they're all switches nowadays. In any case, the blinking led on the hub/switch shows it's really outputting something "on the wire". 

So, the message "ping: host is  down" can  mean different things. But the most likely is that you're pinging an IP address that's not on your network.


----------



## R6exe (Jun 9, 2020)

Jose said:


> Does dmesg(8) say anything interesting?


I do a dmesg | grep xl and gives me this
xl0: <3com 3c900-combo ethernet link XL> port 0xe0800-0xe83f ira 11 at device 8.0 no pci1
xl0: selecting 10baseT transceiver, half duplex
xl0: ethernet address: 00:60:97:12:6c:70
And that's it.


----------



## R6exe (Jun 9, 2020)

SirDice said:


> The  `gateway_enable` is only needed if you need to route between  two or more interfaces. There's no need to load if_xl(4) because the card is recognised and apparently working (according to ifconfig(8)).
> 
> 
> Nobody uses hubs any more, they're all switches nowadays. In any case, the blinking led on the hub/switch shows it's really outputting something "on the wire".
> ...


I have other machines with freebsd too and they are able to communicate.
I have all the computers in front of me so its clearly that I know the IP of each one.
The Hub is working fine.
But anyway thanks for your answer.
I think this is a driver problem.


----------



## SirDice (Jun 9, 2020)

R6exe said:


> I have other machines with freebsd too and they are able to communicate.


Good. Ping one of the other FreeBSD machines  and run tcpdump(1) there. You should,  at the very least, see the ARP requests. If ARP  isn't working nothing else will too.

Looking again at your ifconfig(8) output I noticed it's set to half-duplex. If you have an actual hub then that should be fine, if it's a switch however this should be full-duplex.


----------



## R6exe (Jun 9, 2020)

SirDice said:


> Good. Ping one of the other FreeBSD machines  and run tcpdump(1) there. You should,  at the very least, see the ARP requests. If ARP  isn't working nothing else will too.
> 
> Looking again at your ifconfig(8) output I noticed it's set to half-duplex. If you have an actual hub then that should be fine, if it's a switch however this should be full-duplex.


Nothing 
It looks there isn't any packages.


----------



## DutchDaemon (Jun 9, 2020)

Run `tcpdump -s0 -nli xl0` on the actual machine itself and see if it registers _any_ activity (notably arp on the local network).


----------



## Jose (Jun 9, 2020)

R6exe said:


> xl0: selecting 10baseT transceiver, half duplex


Old school. It might be a hub. I have one, but I haven't plugged it in in years. I wonder if it still works.


----------



## R6exe (Jun 10, 2020)

DutchDaemon said:


> Run `tcpdump -s0 -nli xl0` on the actual machine itself and see if it registers _any_ activity (notably arp on the local network).


Nothing too.
Nothing appears in the terminal like arp packages or something like that. 
But thank you anyway.


----------



## DutchDaemon (Jun 10, 2020)

The only other thing I can suggest is to statically configure the xl0 in /etc/rc.conf instead of only assigning an IP address to it (i.e. using autoselect), see ifconfig(8) and xl(4):

```
10baseT/UTP           Set 10Mbps operation.  The mediaopt option can also
                           be used to select either full-duplex or half-duplex
                           modes.
```
It is not entirely impossible that the autoselect stap b0rks the hub port.


----------



## Jose (Jun 10, 2020)

It could be a bad card, too. I think I remember that 3com 3C905 were flaky. Maybe this card is similar. The model number is, in any case.


----------



## richardtoohey2 (Jun 10, 2020)

Tried a different cable?

Tried directly to another machine with nothing else in the way - just machine-to-machine?

Don't think they will make any difference but eliminating a couple of (unlikely!) possibilities.


----------



## Jose (Jun 10, 2020)

richardtoohey2 said:


> Tried directly to another machine with nothing else in the way - just machine-to-machine?


Those cards are old enough that a crossover cable may be needed to connect directly to another NIC. Also, I don't think you'd be able to connect directly to a 1000BaseT NIC.


----------



## R6exe (Jun 10, 2020)

Hi, I decided to use another NIC at the end.
Thank you anyway.
You know this is a little bit strange because with Linux or Windows the NIC worked with the same cable and same hub, I think this is a FreeBSD driver problem but well I think that's normal because the NIC is really old nowadays.
Have a nice day.


----------

