Jump to content


Photo
- - - - -

USB Firmware


  • Please log in to reply
4 replies to this topic

#1 PurpleJesus

PurpleJesus

    Dangerous free thinker

  • Members
  • 1,578 posts
  • Gender:Male
  • Location:800

Posted 19 February 2009 - 07:56 PM

I picked up a cheap USB bluetooth dongle. I've gotten it to work after some serious googling, however I must plug it in before I boot the computer.

Is there a command or something to force the computer to load the USB firmware to the device w/o having to reboot each time?

I'm using Ubuntu 8.10

lsusb: when it's plugged in before booting

Bus 004 Device 007: ID 0a5c:2120 Broadcom Corp. 2045 Bluetooth 2.0 USB-UHE Device with trace filter
Bus 004 Device 006: ID 0a5c:4503 Broadcom Corp. 
Bus 004 Device 005: ID 0a5c:4502 Broadcom Corp. 
Bus 004 Device 004: ID 0a5c:4500 Broadcom Corp.

lsusb report just after plugging in the dongle while the computer is already running.
Bus 004 Device 010: ID 0a5c:4503 Broadcom Corp. 
Bus 004 Device 009: ID 0a5c:4502 Broadcom Corp. 
Bus 004 Device 008: ID 0a5c:4500 Broadcom Corp.

It only works while ID 0a5c:2120 is detected.

#2 mungewell

mungewell

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 376 posts
  • Location:Planet Earth

Posted 19 February 2009 - 08:04 PM

I would do a 'lsmod' whilst the BT device is working, this should give you an idea of which modules are being used to control the device.

You can then (as root/sudo) use 'rmmod' and 'modprobe' to remove and reinstall the relevant modules. There may be several modules associated with providing functionality, but one of them would presumably handle loading the firmware into the device.

Cheers,
Mungewell.

#3 PurpleJesus

PurpleJesus

    Dangerous free thinker

  • Members
  • 1,578 posts
  • Gender:Male
  • Location:800

Posted 20 February 2009 - 10:07 AM

I would do a 'lsmod' whilst the BT device is working, this should give you an idea of which modules are being used to control the device.

You can then (as root/sudo) use 'rmmod' and 'modprobe' to remove and reinstall the relevant modules. There may be several modules associated with providing functionality, but one of them would presumably handle loading the firmware into the device.

Cheers,
Mungewell.


I'll give it a shot.

Appreciate it.

Thanks.

#4 thepcdude

thepcdude

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 353 posts
  • Location:Computer, Desk

Posted 23 March 2009 - 07:16 PM

Pardon me, if this is a very simple solution, I'm sure you thought of it, I'm just throwing it out there, just in case.....
hciconfig hci0 up?
Cause, I mean, I have to do that when I put the dongle in unless I boot up with it. You probably tried this already haven't you? :-/

#5 PurpleJesus

PurpleJesus

    Dangerous free thinker

  • Members
  • 1,578 posts
  • Gender:Male
  • Location:800

Posted 23 March 2009 - 09:57 PM

Pardon me, if this is a very simple solution, I'm sure you thought of it, I'm just throwing it out there, just in case.....
hciconfig hci0 up?
Cause, I mean, I have to do that when I put the dongle in unless I boot up with it. You probably tried this already haven't you? :-/


Yep. It says something to the effect it doesn't exist. It works if I had the dongle in before I boot though. Just not after.


I tried to restart the USB service thinking it might force a firmware load. It refuses to shut down saying it's in use. Any idea how to get around that? Sudo wasn't enough.


The gadget: if you just plug it in, it shows up as three devices. If it's plugged in before booting, a forth device shows up. It's that forth device that is the hci0. I've tracked the issue down to the dongle. It has to have it's firmware loaded. Something does load it during boot. I just hate to reboot if I want to tinker with it. Guess I could just plug it into the back and forget about the whole issue. not.

With it plugged in prior to boot:
sudo hciconfig hci0 up

responds with nothing.

dmesg shows:

[497980.597388] Bluetooth: L2CAP ver 2.11
[497980.597394] Bluetooth: L2CAP socket layer initialized
[497980.707948] Bluetooth: RFCOMM socket layer initialized
[497980.708099] Bluetooth: RFCOMM TTY layer initialized
[497980.708103] Bluetooth: RFCOMM ver 1.10

Now I unplug it...
[606146.144049] usb 4-2: USB disconnect, address 3
[606146.144057] usb 4-2.1: USB disconnect, address 6
[606146.146445] btusb_intr_complete: hci0 urb e7ac1080 failed to resubmit (19)
[606146.146764] btusb_send_frame: hci0 urb e69b0080 submission failed
[606146.396687] usb 4-2.2: USB disconnect, address 4
[606146.420332] usb 4-2.3: USB disconnect, address 5

and now plug it back in...
[606156.684013] usb 4-2: new full speed USB device using uhci_hcd and address 9
[606156.865162] usb 4-2: configuration #1 chosen from 1 choice
[606156.868081] hub 4-2:1.0: USB hub found
[606156.870045] hub 4-2:1.0: 3 ports detected
[606157.165045] usb 4-2.2: new full speed USB device using uhci_hcd and address 10
[606157.308156] usb 4-2.2: configuration #1 chosen from 1 choice
[606157.317458] input: Broadcom Corp BCM2045B3 ROM as /devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2.2/4-2.2:1.0/input/input8
[606157.342542] input,hidraw0: USB HID v1.11 Keyboard [Broadcom Corp BCM2045B3 ROM] on usb-0000:00:1d.3-2.2
[606157.421057] usb 4-2.3: new full speed USB device using uhci_hcd and address 11
[606157.566174] usb 4-2.3: configuration #1 chosen from 1 choice
[606157.573596] input: Broadcom Corp BCM2045B3 ROM as /devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2.3/4-2.3:1.0/input/input9
[606157.619313] input,hidraw1: USB HID v1.11 Mouse [Broadcom Corp BCM2045B3 ROM] on usb-0000:00:1d.3-2.3

Now I try:
$ sudo hciconfig hci0 up

and I get:
Can't get device info: No such device




BinRev is hosted by the great people at Lunarpages!