2007-02-19 17:39:57

by bluez.mexon

[permalink] [raw]
Subject: [Bluez-devel] 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


2007-02-23 12:04:10

by bluez.mexon

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

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

2007-02-23 07:07:20

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

Hi,

> > 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.
> ...
> > 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
>
> 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.

> 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

2007-02-23 06:10:12

by bluez.mexon

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

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.
...
> 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

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?

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

2007-02-22 06:52:03

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

Hi,

> > 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.

> >> 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.

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

2007-02-22 05:47:10

by bluez.mexon

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

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?

>> 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.

>> 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

2007-02-21 12:13:29

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

Hi Mat,

> >> 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.

then something is broken here. Can't tell your what, but it should work.

> 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.

> 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

2007-02-19 19:26:20

by bluez.mexon

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

Marcel Holtmann - [email protected] wrote:

>> 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

2007-02-19 17:54:19

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] hid2hci fails: broken pipe

Hi Mat,

> 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