# USB stick mount problem



## nephrite (Feb 5, 2010)

Hello.

I have strange problem using my USB stick. 
I run FreeBSD 8.0-RELEASE-p2 amd64

First, I plug my USB flash in. It detects correctly and there appears a device entry in /dev:


```
ugen1.2: <JetFlash> at usbus1
umass0: <JetFlash Mass Storage Device, class 0/0, rev 2.00/1.00, addr 2> on usbus1
umass0:  SCSI over Bulk-Only; quirks = 0x0100
umass0:2:0:-1: Attached to scbus2
(probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 
(probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
(probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:28,0
(probe0:umass-sim0:0:0:0): Not ready to ready change, medium may have changed
(probe0:umass-sim0:0:0:0): Retrying Command (per Sense Data)
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <JetFlash TS4GJFV85 8.07> Removable Direct Access SCSI-2 device 
da0: 40.000MB/s transfers
da0: 3900MB (7987200 512 byte sectors: 255H 63S/T 497C)
GEOM: da0: partition 1 does not start on a track boundary.
GEOM: da0: partition 1 does not end on a track boundary.
```


```
[2010-02-05 22:31:10] nephrite:/usr/home/nephrite$ ls /dev/da*
/dev/da0	/dev/da0s1
```

Then I try to mount it:


```
[2010-02-05 22:32:46] nephrite:/usr/home/nephrite$ sudo mount_msdosfs /dev/da0s1 /media/flash/
```

After that it just hangs and never finishes:


```
[2010-02-05 22:13:13] nephrite:/usr/home/nephrite$ ps wax|grep mount
16885   0  D+     0:00,01 mount_msdosfs /dev/da0s1 /media/flash/
16887   1  S+     0:00,00 grep mount
```

The only way to quit is to unplug the stick. The system doesn't hang or crash, just the mount command doesn't work. The strange thing here is that I also have an USB card reader for SD cards which works just fine. Also the same stick worked all right on my older FreeBSD 7.2 RELEASE-p4 amd64 on the same machine. I also tried similar Jetflash drives and the problem persists so it is not a single faulty stick. Attached is a full output from dmesg.


----------



## Beastie (Feb 5, 2010)

Test this without sudo. Use su, type root's password, then mount: `# mount -t msdosfs /dev/da0s1 /media/flash/`.


----------



## Nicholas (Feb 6, 2010)

Same problem on 8.0-RELEASE; don't use sudo.


----------



## nephrite (Feb 6, 2010)

Beastie said:
			
		

> Test this without sudo. Use su, type root's password, then mount: `# mount -t msdosfs /dev/da0s1 /media/flash/`.



Tried this. Everything the same. mount just doesn't work. However, now I'm able to exit the command with CTRL-C


----------



## Beastie (Feb 6, 2010)

Try it again with *da0* instead of *da0s1*.


----------



## nephrite (Feb 6, 2010)

Beastie said:
			
		

> Try it again with *da0* instead of *da0s1*.



It's not supposed to work, but OK.


```
makoto# mount -t msdosfs /dev/da0 /media/flash/
mount_msdosfs: /dev/da0: Invalid argument
```

Just as expected, it doesn't work. 
The same stick worked on older FreeBSD 7.2-p4 and it still works on Linux: I mount *da0s1*.


----------



## nephrite (Feb 7, 2010)

*Solution (kinda)*

Latest news.
I've read some PRs in bug database. Looks like quite a lot of USB problems are connected with USB 2.0

I tried to disable it in kernel:


```
[2010-02-07 11:52:36] nephrite:/usr/home/nephrite$ sudo sysctl hw.usb.ehci.no_hs=1
Password:
hw.usb.ehci.no_hs: 0 -> 1
```

After that my USB stick mounted and worked OK, however, it took a long time to complete the mount command.

I don't consider it a proper solution to the problem but it works around the trouble.


----------



## nephrite (Feb 7, 2010)

What is strange: after switching USB 2.0 off I switched it back on and the flash mounted and worked. Then I unplugged it and plugged again. It didn't work again.


----------

