# USB ports seemingly not working



## twdorris (Nov 15, 2013)

FreeBSD newbie here (experience with Solaris/Linux, just not FreeBSD specifically).  I've had a co-located server for the last 7 years sitting in a building I had never been in until last night.  It was set[ ]up by someone there based on my loose specifications and has been working perfectly as our website, forums, commerce engine ever since.

So I finally decided I probably outta ought to go see this thing and do a backup. I set up a FreeBSD machine on a spare system in my office just to get familiar with it before driving down and I connected that same USB drive to this temporary machine just fine. The commands I used to get it all formatted and ready where as follows.


```
gpart destroy -F da0
gpart create -s MBR da0
fdisk -BI /dev/da0
bsdlabel -w -B /dev/da0s1
newfs /dev/da0s1a
```

Tested it out before I left with the following.


```
mount /dev/da0s1a /mnt/da0
cd da0
df -k .
cd ..
umount da0
```

Everything seemed to work fine. The results from `df` looked fine, no error messages anywhere, etc., etc.

So I drove down to the data center, got my access cleared up to the machine and proceeded to hook up my USB keyboard and their LCD screen. The keyboard lights flickered for a second when I first plugged it in, but nothing after that. No NumLock light, etc., and nothing worked. I saw the console text up on the monitor, but nothing I typed showed up or had any effect. So the system just didn't recognize the keyboard. I moved it to different USB ports with the same effect. I borrowed _two_ more USB keyboards from the data center front desk, but had the same result. The system just wasn't recognizing the keyboards. So I borrowed a PS/2 style keyboard and was in business.

I logged in, hooked up the USB drive but got NO response again. No errors in any of the logs I could fine, no new drives showing up in `geom disk list`, nothing.  

`uname` reports:


```
FreeBSD server 6.2-STABLE FreeBSD 6.2-STABLE
```

And `sysctl` for hw.usb reports:


```
[root@server /usr/ports/mail/postfix]# sysctl hw.usb
sysctl: unknown oid 'hw.usb'
```

My question is this.

What now? How do I proceed from here to debug this? Is there some way to check that the USB ports are even being "monitored" by the system? Because they sure don't seem to be to me. If they are, then how do I debug why the drive isn't showing up somewhere?

Any help would be appreciated. I'll gladly RTFM too if someone will point me to the appropriate manual. I've searched through Google and these forums (which doesn't search well for "USB" since it's only a 3-letter word and gets ignored in indexing it seems).

Thanks in advance!


----------



## wblock@ (Nov 15, 2013)

FreeBSD 6.2 is ancient, from before the USB system was rewritten.  It needed usbd(8) to detect device changes, and it is probably not running.

Please don't use fdisk(8) and bsdlabel(8) any more.  Use gpart(8), which does everything they do and more, and mostly better.  See the second half of Disk Setup On FreeBSD for MBR setup.


----------



## kpa (Nov 15, 2013)

It would help if we saw the full output of `uname -a` instead of just parts of the information. Also post the contents of /etc/make.conf, /etc/src.conf if they exist.


----------



## twdorris (Nov 16, 2013)

wblock@ said:
			
		

> FreeBSD 6.2 is ancient, from before the USB system was rewritten.  It needed usbd(8) to detect device changes, and it is probably not running.


Thanks, BTW.  Sorry I haven't had a chance to test this yet, but I did confirm the situation as you described and I have made the appropriate configuration changes; I think.  At least the daemon is running now and is reporting in the log files what appears to be good USB initialization data.  I just haven't had a chance to run back out with a USB drive in hand to test it.  

I will report back and mark solved or update as soon as I can.  Thanks again!


----------



## twdorris (Nov 18, 2013)

I gave up on this USB drive on this old 6.2 system.  

I got the USB daemon running OK and it did what it could, but it couldn't do what I wanted. The whole system just seems to be too dated. I don't even think it supports USB-to-ATA bridge devices. And I think it might only support up to 256MB flash sticks or something. Whatever the case, no matter the size of the hammer I tried, it just refused to do anything with the USB driver I was plugging in.

It did acknowledge that something was getting plugged in and removed and it could give me the textual details of what that device was. But it ultimately just exited out with an "unknown device" type status and did nothing with it.

So thanks for the tips and the warnings, but this effort was a total bust (as you probably expected it to be). I ended up just bringing in a laptop and a cross over ethernet cable and moving stuff over to the drive through the laptop using the second NIC on the server. What a tangled mess of wires everywhere just to transfer 10 Gbps, though.


----------



## wblock@ (Nov 18, 2013)

Actually, I would have expected it to work, but you did succeed with the Ethernet cable.  On the positive side, the data transfer probably took half the time it would have over USB.


----------

