Hangup on USB mass device

Sébastien Morand seb.morand at gmail.com
Wed Apr 23 22:38:33 UTC 2008

> In the future, please don't reply on top, but on the bottom of the original.

No problem

> The default location is /var/crash. Look for files named vmcore.N, where
> N is a number.

Yes there is.

> What kind of USB chip do you have on the motherboard? Try 'dmesg | grep
> ^usb' and post the output.

$ dmesg | grep usb
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
usb1: waiting for BIOS to give up control
usb1: timed out waiting for BIOS
usb1: EHCI version 1.0
usb1: companion controller, 4 ports each: usb0
usb1: <NVIDIA nForce4 USB 2.0 controller> on ehci0
usb1: USB revision 2.0
uhub1: <nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb1

> It could be a hardware problem, or a bug.

Hardware is fine under linux (same machine) or windows on my wife's laptop (no
pb with the USB devices), so I don't think so.

> Does anything appear in the dmesg output when you try to plug in a USB
> device? look in /var/log/messages, at the correct time.
> E.g, the following appears when I plug in a USB flash drive;

I get this:
Apr 23 22:17:48 mellba root: Unknown USB device: vendor 0x07b4 product 0x0105
bus uhub0
Apr 23 22:17:48 mellba kernel: umass2: <OLYMPUS X100,D540Z,C310Z, class 0/0, rev
2.00/1.00, addr 2> on uhub0
Apr 23 22:19:53 mellba syslogd: kernel boot file is /boot/kernel/kernel
Apr 23 22:19:53 mellba kernel: Copyright (c) 1992-2008 The FreeBSD Project.
Apr 23 22:19:53 mellba kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989,
1991, 1992, 1993, 1994
Apr 23 22:19:53 mellba kernel: The Regents of the University of California. All
rights reserved.
Apr 23 22:19:53 mellba kernel: FreeBSD is a registered trademark of The FreeBSD
Apr 23 22:19:53 mellba kernel: FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008

So My USB device has been seen and then nothing until the first message of the
next boot

> Apr 22 18:24:45 slackbox kernel: umass0: <vendor 0x3538 USB Mass Storage Device, class 0/0, rev 2.00/1.00, addr 2> on uhub4
> Apr 22 18:24:45 slackbox kernel: da0 at umass-sim0 bus 0 target 0 lun 0
> Apr 22 18:24:45 slackbox kernel: da0: <Generic USB Flash Disk 0.00> Removable Direct Access SCSI-2 device 
> Apr 22 18:24:45 slackbox kernel: da0: 40.000MB/s transfers
> Apr 22 18:24:45 slackbox kernel: da0: 250MB (512000 512 byte sectors: 64H 32S/T 250C)

Actually it's quite funny because I have a hard disk on my da0 which is working
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <WD 2500JB External 0108> Fixed Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
GEOM_LABEL: Label for provider da0s1 is msdosfs/My Book.

It's plugged at boot time.

I'm just thinking that I forget mention some stuff ...
I activated the hot plug using hald et dbus (using xfce4):

Here is my PolicyKit.conf I modified for my need:
$ more PolicyKit.conf
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
     <match user="root">
         <return result="yes"/>
     <define_admin_auth group="wheel"/>
     <match action="org.freedesktop.hal.storage.mount-removable">
         <match user="sebastien">
             <return result="yes"/>
     <match action="org.freedesktop.hal.storage.mount-fixed">
         <match user="sebastien">
             <return result="yes"/>

User sebastien is a member if wheel, so hot plug should be working (and it is 
with my usb key and my usb hard disk ... it's only my mp3 player and my camera 
which make my pc hanging up).

I try do disable both these services and the result is the same.

> Seeing which of these lines appear or not makes it easier to track down
> the bug.
> Try to read the crashdump with the kernel debugger, as described in
> §10.2 of the FreeBSD Developers' Handbook. Obtain a so-called
> backtrace. (using the 'bt' command in the debugger).

I can't do that. It required a built kernel, didn't it?
The handbook said to launch:
# cd /usr/obj/usr/src/sys/GENERIC
# kgdb kernel.debug /var/crash/vmcore.0

But ... I don't have this directory since I don't compile my kernel, so Itry to
compile the generic kernel:
Here is what I read trying to build the generic kernel:
=== [23\04\2008 22:09:14] root at mellba:/usr/src
# make buildkernel KERNCONF=GENERIC
"Makefile.inc1", line 1034: Malformed conditional (${MK_LIBTHR} != "no"&&
${MK_LIBKSE} != "no")
"Makefile.inc1", line 1036: if-less elif
"Makefile.inc1", line 1038: if-less elif
"Makefile.inc1", line 1040: if-less endif
make: fatal errors encountered -- cannot continue

> Post your question and the information that you've gathered to the
> -stable mailing list. There are more people there who are familiar with
> the kernel internals.

Thank I will do so.


More information about the freebsd-questions mailing list