Some USB devices not detected
Dave Higton (1515) 3526 posts |
Recently I noticed that two of my Bluetooth dongles are not seen at all when plugged in, either to my Iyonix or BBxM. This morning I discovered that my mobile phone was not seen at all when plugged into my BBxM. I know it is seen by my Iyonix. By “not seen at all” I mean that even USBInfo doesn’t show the existence of the device. Is this likely to be altered by a timeout in a USB module somewhere? If so, is it something I can patch on an experimental basis? |
Steve Pampling (1551) 8170 posts |
Recently I noticed that two of my Bluetooth dongles are not seen at all when plugged in, either to my Iyonix or BBxM Others have had problems with Linux and bluetooth: One contributer there talks of needing to recompile with DMA disabled to get bluetooth working. |
Dave Higton (1515) 3526 posts |
I think what they are talking about there is a problem that only becomes apparent once the device has been identified as a Bluetooth dongle. RISC OS doesn’t even get as far as seeing the device at all. |
Ben Avison (25) 445 posts |
Perhaps a silly question, but could it be that you’ve exceeded the current draw limit for part of your USB tree? If a USB device requires more power than the host can provide, I believe it won’t even show up in enumerations. |
Dave Higton (1515) 3526 posts |
Good question, thank you, but it’s a powered 7 port hub in each case with only one device (BBxM) or no devices (Iyonix) with heavy current draw. |
Jeffrey Lee (213) 6048 posts |
There are a few delay/timeout values defined in dev.usb.h.usb, around line 519. Some of these can also be overriden by system variables:
It’s worth noting that I did change a few of the values a couple of months ago, but only on BB; previously the BB and other non-PCI machines were using the “RHENIUM” build of the USB drivers, which was necessary for the modules to detect the USB controllers exposed via the HAL. However the RHENIUM switch also enabled some slightly different delay timings. I wanted to get rid of the build switch so that the same module softload could be used on any machine, so kept the Iyonix delay timings instead of the REHNIUM ones, under the assumption the Iyonix has been successfully used with a wider variety of USB devices than whatever the RHENIUM project was used with. |
Raik (463) 2061 posts |
Is that the reason for the 5-10s to the XM or the C4 is waiting for the boot harddisk? That was with the old ROM (about 3 months?) not so. |
Jeffrey Lee (213) 6048 posts |
Yes, it’s possible that’s what’s causing it. It looks like the only value I changed was USB_PORT_RESET_DELAY, from 200ms to 100ms. I’m hesitant to change the values as it could break things (e.g. according to the comments that are in usb.h, 200ms kills Chicony keyboards). However I could probably tweak the device enumeration/initialisation logic so that it will try harder to initialise devices before it gives up. |