Hi,
I am trying to understand the HCI_RESET procedure and the notification of new device to the user-space, in case of a UART Bluetooth device.
What I am trying to understand is, in what place of hciattach does the whole system, [through dbus] get to know the existance of the bt device and what call [from which module] does that notification go to the user-space.
Just a brief about the hciattach / notification to user-space and socket setup.
Thanks in advance.
Pavan
Pavan,
Please don't top-post.
On Tue, Jul 29, 2008 at 4:40 PM, <[email protected]> wrote:
> Also hci_notify notifies a HCI_DEV_REG event thru' the notifier chain, what I couldnt get was, how does HCI-daemon wait on it.
> (related to g_io_add_watch or something was my guess, but not sure..., or is it using the Stack-Internal Socket Events? which would require hci_dev_open to be called.)
>
> I until now had thought notifier chains are used only for inter-kernel notifications. I guess I was wrong.
The notification IS sent to a kernel client - the hci_sock_dev_event
function. That function in turn sends the event to a user space via a
socket which was created and watched by hcid beforehand. Check out
hcid's main function for more details.
Regards,
Ohad.
Thank you,
Also hci_notify notifies a HCI_DEV_REG event thru' the notifier chain, what I couldnt get was, how does HCI-daemon wait on it.
(related to g_io_add_watch or something was my guess, but not sure..., or is it using the Stack-Internal Socket Events? which would require hci_dev_open to be called.)
I until now had thought notifier chains are used only for inter-kernel notifications. I guess I was wrong.
Please clarify.
----- Original Message -----
From: Ohad Ben-Cohen <[email protected]>
To: pavan savoy <[email protected]>
Cc: [email protected]
Sent: Tue, 29 Jul 2008 18:33:20 +0530 (IST)
Subject: Re: HCI_Reset and Notification to User-Space
Hi Pavan,
On Tue, Jul 29, 2008 at 3:09 PM, <[email protected]> wrote:
> What I am trying to understand is, in what place of hciattach does the whole system, [through dbus] get to know the existance of the bt device and what call [from which module] does that notification go to the user-space.
When hciattach calls the HCIUARTSETPROTO ioctl, you get the following
trace in the kernel:
hci_uart_set_proto -> hci_uart_register_dev -> hci_register_dev -> hci_notify.
The last function notifies user space (hcid) about the new device.
Hciattach does not use dbus and does not directly communicate with hcid.
Regards,
Ohad.
>
> Just a brief about the hciattach / notification to user-space and socket setup.
>
>
> Thanks in advance.
> Pavan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Hi Pavan,
On Tue, Jul 29, 2008 at 3:09 PM, <[email protected]> wrote:
> What I am trying to understand is, in what place of hciattach does the whole system, [through dbus] get to know the existance of the bt device and what call [from which module] does that notification go to the user-space.
When hciattach calls the HCIUARTSETPROTO ioctl, you get the following
trace in the kernel:
hci_uart_set_proto -> hci_uart_register_dev -> hci_register_dev -> hci_notify.
The last function notifies user space (hcid) about the new device.
Hciattach does not use dbus and does not directly communicate with hcid.
Regards,
Ohad.
>
> Just a brief about the hciattach / notification to user-space and socket setup.
>
>
> Thanks in advance.
> Pavan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>