Help! Sending RFCOMM packet over L2CAP fails.
site_archiver@lists.apple.com Delivered-To: bluetooth-dev@lists.apple.com User-agent: Mutt/1.4.1i Greetings. I've been working on an application, which builds an RFCOMM (OBEX) packet directly on top of L2Cap. The initialization of the connection seems to go okay. However, Writing, i.e. writeSync always fails. it returns kIOReturnNotPrivileged. (0xe00002c1). Is L2Cap access somehow restricted, to disallow direct creation of RFCOMM connections? I ran the program as root. ( I sudo'ed the application, I sudo su'd, _then_ ran it - didn't help. ) Interestingly enough, SDP works fine built over L2Cap. Another question: The class IOBluetoothHCIController. Does any documentation exist of that class? I'd very much like being able to access the HCI layer. Thanks, - Esa Here's the relevant parts of the code: Creating the connection: --------------- NSAutoreleasePool *localPool = [[NSAutoreleasePool alloc] init]; IOBluetoothDevice* blue_device = [super getDevice:target]; if (blue_device == NULL) { if (debug) { printf("Unable to get the Bluetooth device\n"); } [super connectionAttempt:false]; [localPool release]; return false; } if ([blue_device openConnection] != kIOReturnSuccess) { if (debug) { printf("Failed to open a connection to the bluetooth device.\n"); } [super connectionAttempt:false]; [localPool release]; return false; } IOReturn ioret = [blue_device openL2CAPChannelSync:&l2capChannel withPSM:psm delegate:self]; [l2capChannel retain]; if (ioret != kIOReturnSuccess) { if (debug) { printf("Failed to open a L2CAP channel. \n"); } [super connectionAttempt:false]; [localPool release]; return false; } [super connectionAttempt:true]; [localPool release]; return true; } --------------- Send: --------------- - (bool)send:(char*)data len:(int)len { IOReturn ioret; ioret = [l2capChannel writeSync:data length:len]; if (ioret != kIOReturnSuccess) { if (debug){ printf("RAWDEBUG: Write failed, ioret: 0x%x\n", ioret); } return false; } return true; } _______________________________________________ Do not post admin requests to the list. They will be ignored. Bluetooth-dev mailing list (Bluetooth-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/bluetooth-dev/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Esa Karjalainen