Return-Path: MIME-Version: 1.0 In-Reply-To: <1233507396.4809.7.camel@californication> References: <20090128082323.GA8865@jh-x301> <20090128112504.GA22536@localhost> <1233507396.4809.7.camel@californication> Date: Tue, 3 Feb 2009 11:34:21 +0530 Message-ID: Subject: Re: Disconnect eSCO link from Command line From: sreevani medhahal To: Marcel Holtmann , linux-bluetooth@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 List-ID: Hi Marcel, >> >> > On Wed, Jan 28, 2009, sreevani medhahal wrote: >> >> >> After the headset has created the eSCO link. The Profile Tuning >> >> >> Suite asks for Closing the Audio Connection from AG. Is there any >> >> >> command line utiility to disable the eSCO link & not the service level >> >> >> connection(ACL).[The eSCO link is visible on giving hcitool con ] >> >> > >> >> > You can do that by calling the Stop D-Bus method call on the >> >> > org.bluez.Headset interface of the corresponding device object. You can >> >> > e.g. use the test/test-telephony python script for this: >> >> > ./test-telephony stop >> >> > >> >> The above method does not close the eSCO link ,because the >> >> sco_connect_cb has reported connection timed out. but the hcitool con >> >> still lists the eSCO link. >> >> I have another query bluez4.2x is compatible with which linux kernel >> >> version. does it have any strict requirement that it works best only >> >> if the kernel version is >= 2.6.27 . >> > >> > You might want to try Marcel's bluetooth-testing tree. I think that >> > issue might be fixed by the following patch: >> > http://git.kernel.org/?p=linux/kernel/git/holtmann/bluetooth-testing.git;a=commitdiff;h=d7461bfbd48bb76a1126a4f05bb16e4bb0187d31 >> >> i cannot use the above git tree as i am on ubuntu hardy with kernel >> 2.6.24-19. Is there a repository of bluetooth kernel patches for >> version 2.6.24 . So that i can if any higher versions work for me...I >> am not allowed to use higher kernel versions due to other driver >> dependancy in 2.6.24. > > if you wanna stick with an old kernel, then that is your choice and then > you have to do the work of backporting. Nobody here is going to do it > for you. > I have found a patch in one of the mailing list which helped to pass the PTS tests & also works with SCO as well as eSCO headsets. below is the patch for 2.6.24 (when the AG supports eSCO & the headset doesnt support eSCO). diff -uNr /linux-2.6.24/net/bluetooth/hci_event.c linux-2.6.24/net/bluetooth/hci_event.c --- /linux-2.6.24/net/bluetooth/hci_event.c 2008-01-25 04:28:37.000000000 +0530 +++ linux-2.6.24/net/bluetooth/hci_event.c 2009-02-02 17:44:38.000000000 +0530 @@ -1314,7 +1314,13 @@ conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr); if (!conn) - goto unlock; + { + __u8 link_type = (ev->link_type == ESCO_LINK) ? SCO_LINK : ESCO_LINK; + conn = hci_conn_hash_lookup_ba(hdev, link_type, &ev->bdaddr); + if(!conn) + goto unlock; + conn->type = ev->link_type; + } if (!ev->status) { conn->handle = __le16_to_cpu(ev->handle); Thanks & Regards, Sreevani M