Hello Dmitri, Actually, I just did this myself the other day for a quick and dirty test program. I am by no means an expert on this! (This list maybe aren't really for those that are implementing their own HCI commanders, i guess the others will just have to suffer then. :-) --On den 9 juli 2002 18:17 -0700 Dmitri Moukhine <dmitrim@mac.com> wrote: ... bool write_command(void* data, int size) { bool ok = false; IOUSBDevRequestTO req; IOReturn err = 0; memset(&req, 0, sizeof(req)); // initialize request structure req.bmRequestType = USBmakebmRequestType(kUSBOut, kUSBClass, kUSBEndpoint); req.bRequest = BLUETOOTH_CONTROL_REQUEST_TYPE; //0x20 req.wValue = 0; req.wIndex = 0; req.wLength = size; req.pData = data; req.noDataTimeout = NO_DATA_TIMEOUT; // 5000 req.completionTimeout = NO_COMPLETION_TIMEOUT; // 5000 I used req.bmRequestType = 0x20 and req.bRequest = 0 and 1000 for both timeouts, and it worked fine. Don't ask me for the reason for this, I don't remember it anymore. :-) With that setup I can send for example a Read_BD_Addr with data = {0x09, 0x10, 0x00} and len = 3 and read the reply on the interrupt port. Good luck! /ragge PS. Mind telling us what you are writing? _______________________________________________ bluetooth-dev mailing list | bluetooth-dev@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/bluetooth-dev Do not post admin requests to the list. They will be ignored.