Skip to contentSkip to conversation

on which level does hcidump work?

Bluez-devel amateur 2 participants 6 messages Dec 7, 2006 – Dec 10, 2006 Bluetooth drivers

lore
Share & tools
lore

amateur

author
#0 lore raw

I'm encountering a problem that the data I sent through a L2CAP socket on my local machine doesn't appear in the output of hcidump on the remote machine. But it does appear in the output of hcidump on my local machine.

So I'm wondering on which level does hcidump work. Does it work on the host-dongle interface? What should I do if I want to monitor all the information pass through the host-dongle interface(HCI_USB?). Or can I make such an assumption that all the data showed in the output of hcidump were sent out through the radio? Can I make such a assumption that all the data received was showed up in the output of hcidump?

Signature · 11 lines
Be careful!  Is it classified?

-------------------------------------------------------------------------
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
maintainer
#1 lore raw

Hi,

Quoted 11 lines

I'm encountering a problem that the data I sent through a L2CAP socket on my local machine doesn't appear in the output of hcidump on the remote machine. But it does appear in the output of hcidump on my local machine.

So I'm wondering on which level does hcidump work. Does it work on the host-dongle interface? What should I do if I want to monitor all the information pass through the host-dongle interface(HCI_USB?). Or can I make such an assumption that all the data showed in the output of hcidump were sent out through the radio? Can I make such a assumption that all the data received was showed up in the output of hcidump?

you see only HCI packets (hence the name). There is no real way to make sure the packet went over the air. In some cases you can make this assumption from other stuff that is going 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

author
#2 lore raw
Quoted 14 lines · Marcel Holtmann

Hi,

Quoted 11 lines

I'm encountering a problem that the data I sent through a L2CAP socket on my local machine doesn't appear in the output of hcidump on the remote machine. But it does appear in the output of hcidump on my local machine.

So I'm wondering on which level does hcidump work. Does it work on the host-dongle interface? What should I do if I want to monitor all the information pass through the host-dongle interface(HCI_USB?). Or can I make such an assumption that all the data showed in the output of hcidump were sent out through the radio? Can I make such a assumption that all the data received was showed up in the output of hcidump?

Quoted 4 lines

you see only HCI packets (hence the name). There is no real way to make sure the packet went over the air. In some cases you can make this assumption from other stuff that is going on.

Then how can I make sure that the HCI ACL Packet sent by the Host is *really* received correctly by Host Controller? It seems like there doesn't exist any packet acknowlegment sent from the Host Controller. And there isn't a Command-Complete or Command-Status Event for HCI ACL Packet. So should I ensure that the HCI Transport Layer is reliable? I just want to make sure that the Packet I sent through HCI actually reached the Host Controller.

Signature · 11 lines
You will be given a post of trust and responsibility.

-------------------------------------------------------------------------
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
maintainer
#3 lore raw

Hi,

Quoted 16 lines
Quoted 12 lines
Quoted 11 lines

I'm encountering a problem that the data I sent through a L2CAP socket on my local machine doesn't appear in the output of hcidump on the remote machine. But it does appear in the output of hcidump on my local machine.

So I'm wondering on which level does hcidump work. Does it work on the host-dongle interface? What should I do if I want to monitor all the information pass through the host-dongle interface(HCI_USB?). Or can I make such an assumption that all the data showed in the output of hcidump were sent out through the radio? Can I make such a assumption that all the data received was showed up in the output of hcidump?

Quoted 4 lines

you see only HCI packets (hence the name). There is no real way to make sure the packet went over the air. In some cases you can make this assumption from other stuff that is going on.

Quoted 7 lines

Then how can I make sure that the HCI ACL Packet sent by the Host is *really* received correctly by Host Controller? It seems like there doesn't exist any packet acknowlegment sent from the Host Controller. And there isn't a Command-Complete or Command-Status Event for HCI ACL Packet. So should I ensure that the HCI Transport Layer is reliable? I just want to make sure that the Packet I sent through HCI actually reached the Host Controller.

that is the job of the HCI transport layer and not the job of the host stack. The host stack simply assumes that the transport is reliable and handles packet loss etc.

However ACL packets are bound to the HCI flow control and you will see the number of packets acknowledgment.

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

author
#4 lore raw
Quoted 26 lines · Marcel Holtmann

Hi,

Quoted 16 lines
Quoted 12 lines
Quoted 11 lines

I'm encountering a problem that the data I sent through a L2CAP socket on my local machine doesn't appear in the output of hcidump on the remote machine. But it does appear in the output of hcidump on my local machine.

So I'm wondering on which level does hcidump work. Does it work on the host-dongle interface? What should I do if I want to monitor all the information pass through the host-dongle interface(HCI_USB?). Or can I make such an assumption that all the data showed in the output of hcidump were sent out through the radio? Can I make such a assumption that all the data received was showed up in the output of hcidump?

Quoted 4 lines

you see only HCI packets (hence the name). There is no real way to make sure the packet went over the air. In some cases you can make this assumption from other stuff that is going on.

Quoted 7 lines

Then how can I make sure that the HCI ACL Packet sent by the Host is *really* received correctly by Host Controller? It seems like there doesn't exist any packet acknowlegment sent from the Host Controller. And there isn't a Command-Complete or Command-Status Event for HCI ACL Packet. So should I ensure that the HCI Transport Layer is reliable? I just want to make sure that the Packet I sent through HCI actually reached the Host Controller.

Quoted 6 lines

that is the job of the HCI transport layer and not the job of the host stack. The host stack simply assumes that the transport is reliable and handles packet loss etc.

However ACL packets are bound to the HCI flow control and you will see the number of packets acknowledgment.

This method seems feasible. I'll try it and find whether the packet loss be due to the HCI USB transport layer.

Thank you for your advice, Marcel!

Signature · 12 lines
The Public is merely a multiplied "me."
		-- Mark Twain

-------------------------------------------------------------------------
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
maintainer
#5 lore raw

Hi,

Quoted 24 lines
Quoted 24 lines
Quoted 23 lines
Quoted 12 lines
Quoted 11 lines

I'm encountering a problem that the data I sent through a L2CAP socket on my local machine doesn't appear in the output of hcidump on the remote machine. But it does appear in the output of hcidump on my local machine.

So I'm wondering on which level does hcidump work. Does it work on the host-dongle interface? What should I do if I want to monitor all the information pass through the host-dongle interface(HCI_USB?). Or can I make such an assumption that all the data showed in the output of hcidump were sent out through the radio? Can I make such a assumption that all the data received was showed up in the output of hcidump?

Quoted 4 lines

you see only HCI packets (hence the name). There is no real way to make sure the packet went over the air. In some cases you can make this assumption from other stuff that is going on.

Then how can I make sure that the HCI ACL Packet sent by the Host is *really* received correctly by Host Controller? It seems like there doesn't exist any packet acknowlegment sent from the Host Controller. And there isn't a Command-Complete or Command-Status Event for HCI ACL Packet. So should I ensure that the HCI Transport Layer is reliable? I just want to make sure that the Packet I sent through HCI actually reached the Host Controller.

Quoted 8 lines
Quoted 6 lines

that is the job of the HCI transport layer and not the job of the host stack. The host stack simply assumes that the transport is reliable and handles packet loss etc.

However ACL packets are bound to the HCI flow control and you will see the number of packets acknowledgment.

This method seems feasible. I'll try it and find whether the packet loss be due to the HCI USB transport layer.

the HCI USB transport layer will retransmit packets on errors and have an acknowledgment mechanism. Depending on the USB controller you use this might be in hardware or in software. Check the USB specification for further details.

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