USB and 6.1-RELEASE
Micah
micahjon at ywave.com
Mon Jul 17 22:00:33 UTC 2006
Rich Demanowski wrote:
> Micah wrote:
>> Rich Demanowski wrote:
>>> Micah wrote:
>>>> Rich Demanowski wrote:
>>>>> scbus, da, pass, ohci, uhci, ehci, usb, udbp, ugen, uhid, ukbd,
>>>>> ulpt, umass, ums, ural, urio and uscanner are all enabled in the
>>>>> running kernel's /usr/src/sys/i386/conf config file. usbd is not
>>>>> running. When I try to start usbd I get the following:
>>>>> No USB host controllers found.
>>>>>
>>>>> There are no usb* devices listed in /dev.
>>>>>
>>>>> in dmesg I get the following with regard to ohci0 and ehci0:
>>>>> ohci0: <OHCI (generic) USB controller> mem 0xfe02f000-0xfe02ffff
>>>>> at device 11.0 on pci0
>>>>> pcib0: unable to route slot 11 INTA
>>>>> ohci0: Could not allocate irq
>>>>> device_attach: ohci0 attach returned 6
>>>>> ehci0: <EHCI (generic) USB 2.0 controller> mem
>>>>> 0xfe02e000-0xfe02e0ff at device 1 1.1 on pci0
>>>>> pcib0: unable to route slot 11 INTB
>>>>> ehci0: Could not allocate irq
>>>>> device_attach: ehci0 attach returned 6
>>>>>
>>>>>
>>>>> When I plug the drive into any of the USB ports on the system,
>>>>> nothing happens in dmesg or /var/log/messages. camcontrol devlist
>>>>> lists no devices.
>>>>>
>>>>> I'm a bit confused as to why my USB keyboard and mouse function,
>>>>> but my thumb drive will not.
>>>>
>>>> It's likely that your BIOS has "legacy" support enabled in which
>>>> case, as far as FreeBSD is concerned, you actually have a regular
>>>> keyboard and mouse. That would explain why the mouse and keyboard
>>>> work while other USB items do not. From the messages you gave, it's
>>>> clear that FreeBSB is unable to connect to the USB controller.
>>>> Disabling legacy support in the BIOS may help. Otherwise check your
>>>> BIOS for other USB related settings and try changing those.
>>>>
>>> Indeed, legacy support is enabled (actually "auto" was the setting in
>>> the BIOS). When I disable it, the keyboard and mouse cease
>>> functioning, as well. That was the only setting I could find in the
>>> BIOS related to USB.
>>>
>>> I suppose that means the on-board USB controller is one not supported
>>> by existing drivers? Or at least ones not listed in the GENERIC
>>> config on which I based my kernel (all I added was the ath drivers
>>> for my wireless)? I don't know which chipset it is, but my guess is,
>>> since the on-board video and LAN is an nVidia chipset, that the USB
>>> controller probably is, as well.
>>
>> Based on the error messages I think it's still worth trying some
>> different settings. FeeeBSD seems to recognize the controller but it
>> is unable to allocate the right resources to it. Check your BIOS for a
>> "PnP OS" setting and toggle it. Also, try booting with ACPI disabled
>> (or enabled) from the FreeBSD boot menu. IIRC, ACPI can have a hand in
>> routing resources.
>>
>> HTH,
>> Micah
> OK, disabling Plug-n-Play OS *and* USB legacy support now has the system
> recognizing the USB controllers. It also seems to have fixed the odd
> CAPSLOCK character duplication I was getting, and my mouse scroll wheel
> now works.
>
> Now I'm on to another issue.
>
> When I plug in the thumb drive, which is a 512MB USB 2.0 Mobile
> Swingdrive, containing an MS-DOS filesystem, I get the following:
> umass0: vendor 0x0930 USB Flash Memory, rev 2.00/1.00, addr 2
> da0 at umass-sim0 bus 0 target 0 lun 0
> da0: < USB Flash Memory 1.04> Removable Direct Access SCSI-0 device
> da0: 40.000MB/s transfers
> da0: 489MB (1001472 512 byte sectors: 64H 32S/T 489C)
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
> umass0: Phase Error, residue = 0
> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
> status == 0x0
>
> mount /dev/da0 /thumb yields the error:
> mount: /dev/da0 on /thumb: incorrect super block
>
> mount -t msdos /dev/da0 /thumb yields the error:
> mount_msdosfs: /dev/da0: Invalid argument
>
> /thumb is a directory I created specifically for mounting the thumb
> drive to.
Try: mount -t msdosfs /dev/da0s1 /thumb
Notice I added the slice number. You can always do a quick ls /dev/da*
to see how many slices a device has.
Looks like those messages are a quirk of some USB drives:
http://lists.freebsd.org/pipermail/freebsd-bugs/2006-April/018182.html
According to that PR/patch, that particular drive still works despite
the messages, so hopefully yours will too.
Oh, don't forget to CC the list for the archive's sake.
HTH,
Micah
More information about the freebsd-questions
mailing list