8.0-RC USB/FS problem

Guojun Jin gjin at ubicom.com
Tue Nov 24 08:16:17 UTC 2009


Freshly installed 8.0-RELEASE on two differnt machines, and USB stick work well so far, but the USB hard drive
still has crash on this SMP (4-core AMD phenom 9600) during the dump/restore. I will try it on the single CPU
machine tomorrow.

Re-tested dump/restore with FreeBSD 6.3/6.4 on this SMP machine and they are working well.

Also the another strange thing ocurred during the mount a partition on /tmp, which ended with two /tmp,
and the last one mounted is on the top (the first should be hidden):

: df
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/ad0s1a    756750   165484   530726    24%    /
devfs               1        1        0   100%    /dev
/dev/ad0s2e  43194318 27833648 11905126    70%    /data
/dev/ad0s2d   9135182  5870390  2533978    70%    /home
/dev/ad0s1e    507630    34882   432138     7%    /tmp
/dev/ad0s1f  13246730  1424522 10762470    12%    /usr
/dev/ad0s1d   5077038    12700  4658176     0%    /var
/dev/da0s2     661176   487660   120622    80%    /mnt
/dev/da1s3d   9135182        4  8404364     0%    /dist
/dev/da1s3e  74938948        4 68943830     0%    /tmp

: df /tmp
Filesystem  1K-blocks Used    Avail Capacity  Mounted on
/dev/da1s3e  74938948    4 68943830     0%    /tmp

-----Original Message-----
From: Guojun Jin
Sent: Sun 11/22/2009 7:59 PM
To: Hans Petter Selasky; freebsd-usb at freebsd.org
Cc: bugs at freebsd.org; freebsd-stable at freebsd.org
Subject: RE: 8.0-RC USB/FS problem
 
>From more intensive diagnose, it looks like more related USB layer.

repeated a few time on following process and ithe crash happened at different USB access phase at each time.

dd if=/dev/zero of=/dev/da0 count=1000 bs=4k
sysinstall
        partition 
             slice 1 (da0s1) 18GB ID=12
             slice 2 (da0s2) 10-15GB Id=165
             slice 3 (da0s3) rest ID=165
         W ---> OK
        label
             da0s3d 9GB         /mnt
             da0s3e rest        /dist
         W ---> da0s3e ---- device is not configured.

w# ll /dev/da0*      # after sysinstall did partition + W at 1st time
crw-r-----  1 root  operator    0,  97 Nov 22 11:23 /dev/da0
crw-r-----  1 root  operator    0,  98 Nov 22 11:23 /dev/da0s1
crw-r-----  1 root  operator    0,  99 Nov 22 11:23 /dev/da0s2
crw-r-----  1 root  operator    0, 100 Nov 22 11:23 /dev/da0s3

# ll /dev/da0*      # after sysinstall start at 2nd time
crw-r-----  1 root  operator    0,  97 Nov 22 11:27 /dev/da0
System crashed

The crash log is available at http:/www.daemonfun.com/archives/pub/USB/crash1-reset.bz2
(All logs are based on hw.usb.umass.debug=-1)

After system reboot, and repeated above processes, the da0s3e was mounted on /dist, but da0s3d cannot.
It tunred out that newfs fail inside labeling process in sysinstall. Manually did newfs on da0s3d, and
it cannot be mounted on /mnt, but access to it caused crash.
The crash log is available at http:/www.daemonfun.com/archives/pub/USB/newfs

Tried entire process again, this time, both partitons are formatted (newfs) inside labaling process (sysinstall)
but crahsed system during dump/restore on da0s3e (/dist).
The crash log is available at http:/www.daemonfun.com/archives/pub/USB/usb-log.crash2.bz2, which is huge one.
It contains two parts, one dump/restore IDE to da0s3d (passed), and the rest is dump/restore to da0s3e (crashed).

I am going to reinstall the system with the new ISO from Nov 21 8.0-RELEASE to see if anything will improve.

-----Original Message-----
From: Hans Petter Selasky [mailto:hselasky at c2i.net]
Sent: Sun 11/22/2009 1:47 AM
To: freebsd-usb at freebsd.org
Cc: Guojun Jin; bugs at freebsd.org; freebsd-stable at freebsd.org
Subject: Re: 8.0-RC USB/FS problem
 
On Sunday 22 November 2009 05:38:13 Guojun Jin wrote:
> Tried on the USB hard drive:
>
> Deleted slice 3 and recreated slice 3 with two partitions s3d and s3e.
> Was happy because successfully did dump/restore on s3d, and thought it just
> partition format issue; but system crashed during dump/restore on s3e, and
> partition lost the file system type.
>
> wolf# mount /dev/da0s3e /mnt
> WARNING: /mnt was not properly dismounted
> /mnt: mount pending error: blocks 35968 files 0
> wolf# fsck da0s3e
> fsck: Could not determine filesystem type
> wolf# bsdlabel da0s3
> # /dev/da0s3:
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>   c: 175735035        0    unused        0     0         # "raw" part,
> don't edi t
>   d: 18874368        0    4.2BSD        0     0     0
>   e: 156860667 18874368    4.2BSD        0     0     0
>
> Therefore, tried directly use fsck_ufs on both USB hard drive and USB stick
> to get file system clean up. All data got back now.
>
> The machine has run with FreeBSD 6.1 all the way to 7.2 without such
> problem. How can we determine what could go wrong in 8.0? FS or USB.

Hi,

Error 5 means IO error, so probably the transport layer, USB or lower, is to 
blame.

Some things to check:

1) Make sure the connection for your memory stick is Ok.
2) Make sure there is enough power for your memory stick.

Regarding memory sticks:

Other operating systems do a port bus reset when the device has a problem. On 
FreeBSD we just try a software reset via the control endpoint. I guess that it 
is a device problem you are seeing. The USB stack in FreeBSD is faster than 
the old one, and maybe the faster queueing of mass storage requests trigger 
some hidden bugs in your device.

When the problem happens try:

sysctl hw.usb.umass.debug=-1

--HPS




More information about the freebsd-usb mailing list