hid2hci fails: broken pipe
Hi,
My Digitus DN-3008 arrived in the post today, so I tried it out. I managed to get it to the same level of workingness as my DBT-120, i.e., I can use my bluetooth mighty mouse with the thing, if I first run "hidd" manually. The next step is to switch it into HID mode with hid2hci. But this is failing with the error message:
aeon:~# hid2hci -1 Switching device 0a12:0001 to HID mode failed (Broken pipe)
Can anyone suggest why this isn't working? What pipe? What's it talking to a pipe for in the first place?
I also tried disabling bluez completely and rebooting, in case some daemon was lurking around somewhere preventing the device from being switched out from underneath it. But that didn't help.
This is under Debian etch. hid2hci --version doesn't seem to be accepted, so I can't say what version it is, but bluez-utils is version 3.7-1.
Thanks for any help,
Mat
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi Mat,
Quoted 11 lines
My Digitus DN-3008 arrived in the post today, so I tried it out. I managed to get it to the same level of workingness as my DBT-120, i.e., I can use my bluetooth mighty mouse with the thing, if I first run "hidd" manually. The next step is to switch it into HID mode with hid2hci. But this is failing with the error message:
aeon:~# hid2hci -1 Switching device 0a12:0001 to HID mode failed (Broken pipe)Can anyone suggest why this isn't working? What pipe? What's it talking to a pipe for in the first place?
it doesn't mean that it actually failed to switch the adapter. It might have simply worked. The error messages from the USB subsystem are kinda strange, but somehow expected since the device will disconnect from the bus.
Regards
Marcel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Quoted 10 lines · Marcel Holtmann - [email protected] wrote:
Quoted 5 lines
aeon:~# hid2hci -1 Switching device 0a12:0001 to HID mode failed (Broken pipe)Can anyone suggest why this isn't working? What pipe? What's it talking to a pipe for in the first place?
it doesn't mean that it actually failed to switch the adapter. It might have simply worked. The error messages from the USB subsystem are kinda strange, but somehow expected since the device will disconnect from the bus.
OK, maybe I've misunderstood something. As I understand it, putting the
dongle into HID mode should ask the dongle to pretend to be a USB hub
with a mouse (and/or keyboard) attached. So if it works, the effect should be that my mouse keeps working even when the bluetooth stack isn't running.
If that's right, and I run hid2hci -1 as above, my mouse should "disconnect" from X as a bluetooth mouse and then "reconnect" as a fake USB mouse, and so I should find that my mouse continues working (possibly after a short delay). However, I should then find that if I stop the bluetooth system, the mouse still works. I would also expect that lsusb would show a bluetooth mouse attached somehow.
In fact when I run hid2hci, the mouse still works, but when I stop bluetooth the mouse stops working too. This seems to me to be still in HCI mode. The fact that lsusb still reports:
Bus 002 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
...seems to back this up. The mouse continues to not work until I both bring up bluetooth again and run hidd by hand.
I can cope with this for a mouse, but I was hoping to follow up with a keyboard, and for that it's really important that I'm able to enter stuff into GRUB and the BIOS before the bluetooth stack is loaded. I'm hoping to experiment with the mouse first before I invest in a keyboard too.
So, two questions:
First, is there any way I can tell, really and for sure, whether the dongle is in HCI or HID mode?
Second, I'm a little confused about how this "HID proxy" thing works anyway. How does the dongle remember which mouse and keyboard it's paired with after the power is switched off? Does it have a little bit of flash on board that remembers the last paired device or something? Or have I completely misunderstood what this feature is for?
Thanks,
Mat
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi Mat,
Quoted 31 lines
Quoted 10 lines
Quoted 5 lines
aeon:~# hid2hci -1 Switching device 0a12:0001 to HID mode failed (Broken pipe)Can anyone suggest why this isn't working? What pipe? What's it talking to a pipe for in the first place?
it doesn't mean that it actually failed to switch the adapter. It might have simply worked. The error messages from the USB subsystem are kinda strange, but somehow expected since the device will disconnect from the bus.
OK, maybe I've misunderstood something. As I understand it, putting the
dongle into HID mode should ask the dongle to pretend to be a USB hub
with a mouse (and/or keyboard) attached. So if it works, the effect should be that my mouse keeps working even when the bluetooth stack isn't running.If that's right, and I run hid2hci -1 as above, my mouse should "disconnect" from X as a bluetooth mouse and then "reconnect" as a fake USB mouse, and so I should find that my mouse continues working (possibly after a short delay). However, I should then find that if I stop the bluetooth system, the mouse still works. I would also expect that lsusb would show a bluetooth mouse attached somehow.
In fact when I run hid2hci, the mouse still works, but when I stop bluetooth the mouse stops working too. This seems to me to be still in HCI mode. The fact that lsusb still reports:
Bus 002 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Quoted 7 lines
...seems to back this up. The mouse continues to not work until I both bring up bluetooth again and run hidd by hand.
I can cope with this for a mouse, but I was hoping to follow up with a keyboard, and for that it's really important that I'm able to enter stuff into GRUB and the BIOS before the bluetooth stack is loaded. I'm hoping to experiment with the mouse first before I invest in a keyboard too.
then something is broken here. Can't tell your what, but it should work.
Quoted 2 lines
First, is there any way I can tell, really and for sure, whether the dongle is in HCI or HID mode?
Look at lsusb. In case of CSR chips this is 100% sure.
Quoted 5 lines
Second, I'm a little confused about how this "HID proxy" thing works anyway. How does the dongle remember which mouse and keyboard it's paired with after the power is switched off? Does it have a little bit of flash on board that remembers the last paired device or something? Or have I completely misunderstood what this feature is for?
That is the magic in the dongle HID software. It parses HID devices in the background when it is in HCI mode.
Regards
Marcel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Quoted 1 line · Marcel Holtmann - [email protected] wrote:
then something is broken here. Can't tell your what, but it should work.
I tried booting Knoppix and running lsusb, and it also claimed that the dongle was in "HCI mode". Since that version of Knoppix predates hid2hci, I think I can assume that this dongle is not booting in HID mode as I thought it would.
Is it likely that either this particular chip doesn't support HID proxy despite being bluecore 4, or that it has some pin wired hard to ground to disable this feature?
Quoted 4 lines
Quoted 2 lines
First, is there any way I can tell, really and for sure, whether the dongle is in HCI or HID mode?
Look at lsusb. In case of CSR chips this is 100% sure.
So you're saying that if it prints "Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)" it's in HCI mode, and presumably (although I've never seen it) if it switched correctly it would print "Cambridge Silicon Radio, Ltd Bluetooth Dongle (HID mode)". I'd like to see what the actual output of lsusb looks like when it's correctly in HID proxy mode.
Quoted 8 lines
Quoted 5 lines
Second, I'm a little confused about how this "HID proxy" thing works anyway. How does the dongle remember which mouse and keyboard it's paired with after the power is switched off? Does it have a little bit of flash on board that remembers the last paired device or something? Or have I completely misunderstood what this feature is for?
That is the magic in the dongle HID software. It parses HID devices in the background when it is in HCI mode.
Yeah, that bit I get. But it must also know which devices to connect to, and assuming it's using an encrypted link, it also needs a key. That has to be stored somewhere so it persists when the thing is powered down. Does that mean it's got an extra little bit of flash hidden inside the bluecore somewhere? Or does it use the external flash chip?
That matters, because it would imply that only bluecore chips with
external storage would work in HID proxy mode.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi,
Quoted 10 lines
Quoted 1 line
then something is broken here. Can't tell your what, but it should work.
I tried booting Knoppix and running lsusb, and it also claimed that the dongle was in "HCI mode". Since that version of Knoppix predates hid2hci, I think I can assume that this dongle is not booting in HID mode as I thought it would.
Is it likely that either this particular chip doesn't support HID proxy despite being bluecore 4, or that it has some pin wired hard to ground to disable this feature?
wait a second. You don't even know if it is a HID proxy dongle. You should run "hciconfig hci0 revision" as root. If this is a ROM version then it is not HID proxy. And even if it is an External version, you still need to have to correct unified firmware and the correct boot parameter to make it come up in HID mode first.
Quoted 9 lines
Quoted 8 lines
Quoted 5 lines
Second, I'm a little confused about how this "HID proxy" thing works anyway. How does the dongle remember which mouse and keyboard it's paired with after the power is switched off? Does it have a little bit of flash on board that remembers the last paired device or something? Or have I completely misunderstood what this feature is for?
That is the magic in the dongle HID software. It parses HID devices in the background when it is in HCI mode.
Quoted 7 lines
Yeah, that bit I get. But it must also know which devices to connect to, and assuming it's using an encrypted link, it also needs a key. That has to be stored somewhere so it persists when the thing is powered down. Does that mean it's got an extra little bit of flash hidden inside the bluecore somewhere? Or does it use the external flash chip?
That matters, because it would imply that only bluecore chips with
external storage would work in HID proxy mode.
You need a BlueCore External to have HID proxy support. The ROM versions are all HCI only.
Regards
Marcel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Quoted 5 lines · Marcel Holtmann - [email protected] wrote:
wait a second. You don't even know if it is a HID proxy dongle. You should run "hciconfig hci0 revision" as root. If this is a ROM version then it is not HID proxy. And even if it is an External version, you still need to have to correct unified firmware and the correct boot parameter to make it come up in HID mode first.
...
Quoted 2 lines
You need a BlueCore External to have HID proxy support. The ROM versions are all HCI only.
Aw man, I tried. I really tried. Look here:
http://sourceforge.net/mailarchive/forum.php?thread_id=31657125&forum_id=1883
Didn't I try? Yes, I tried. And it didn't bloody help, did it?
aeon:~# hciconfig hci0 revision
hci0: Type: USB
BD Address: XX:XX:XX:XX:XX:XX ACL MTU: 192:8 SCO MTU: 64:8
HCI 18.2.1
Chip version: BlueCore3-ROM
Max key size: 128 bit
SCO mapping: HCIThere it is, in black and white. It's the ROM version. I guess a DN-3008M1 really is completely different to a DN-3008. That or New Zealand websites are evil and shouldn't be trusted.
So OK, maybe you can tell me. I would like to buy a USB Bluetooth dongle that does the HID proxy thing, preferably 2.0, preferably class
1. Do you know where I might be able to buy such a thing?
And also: boot parameter? Do you mean a Linux boot parameter or another setting that goes on the flash of the dongle? Because if it's the former, that would invalidate the whole point of HID proxy, wouldn't it?
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi,
Quoted 23 lines
Quoted 5 lines
wait a second. You don't even know if it is a HID proxy dongle. You should run "hciconfig hci0 revision" as root. If this is a ROM version then it is not HID proxy. And even if it is an External version, you still need to have to correct unified firmware and the correct boot parameter to make it come up in HID mode first.
...
Quoted 2 lines
You need a BlueCore External to have HID proxy support. The ROM versions are all HCI only.
Aw man, I tried. I really tried. Look here:
http://sourceforge.net/mailarchive/forum.php?thread_id=31657125&forum_id=1883
Didn't I try? Yes, I tried. And it didn't bloody help, did it?
aeon:~# hciconfig hci0 revision hci0: Type: USB BD Address: XX:XX:XX:XX:XX:XX ACL MTU: 192:8 SCO MTU: 64:8 HCI 18.2.1 Chip version: BlueCore3-ROM Max key size: 128 bit SCO mapping: HCI
Quoted 7 lines
There it is, in black and white. It's the ROM version. I guess a DN-3008M1 really is completely different to a DN-3008. That or New Zealand websites are evil and shouldn't be trusted.
So OK, maybe you can tell me. I would like to buy a USB Bluetooth dongle that does the HID proxy thing, preferably 2.0, preferably class
1. Do you know where I might be able to buy such a thing?
don't ask me. It is kinda hard to find a BlueCore4-External dongle these days. And I actually need some where you can flash new firmware into it. If anyone find a reliable source of these, I would buy at least a handful. The best ones _were_ the Level1 things, because they used a high quality flash chip. However the new ones have ROM chips as well.
Quoted 3 lines
And also: boot parameter? Do you mean a Linux boot parameter or another setting that goes on the flash of the dongle? Because if it's the former, that would invalidate the whole point of HID proxy, wouldn't it?
The CSR unified firmware has a boot parameter where you can tell it to boot up in HID mode or HCI mode (and some other modes). In general every unified firmware is HID proxy capable. You might simply have to switch it on.
Regards
Marcel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Quoted 5 lines · Marcel Holtmann - [email protected] wrote:
don't ask me. It is kinda hard to find a BlueCore4-External dongle these days. And I actually need some where you can flash new firmware into it. If anyone find a reliable source of these, I would buy at least a handful. The best ones _were_ the Level1 things, because they used a high quality flash chip. However the new ones have ROM chips as well.
OK, well, that sucks.
I wrote an email begging Level1 to re-introduce a Bluecore4-ext model, and an email to CSR asking for a list of manufacturers who use Bluecore4-ext in their USB dongles. I don't expect either to produce any useful result, but hey, you've gotta speak to be heard. In the meantime, I guess I'm sticking with wires.
Thanks for your help, that clarified a lot of things.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel