Page 2 of 11 FirstFirst 1234567891011 LastLast
Results 11 to 20 of 106

Thread: HFP for Linux Bluetooth Hands Free

  1. #11
    Newbie
    Join Date
    Jul 2007
    Posts
    17
    Oh Man! You are a GOD Wonderful Just compiled

    I've got a Nokia 6680.. I start standalone and scan.. My mobile it's recognise. Then, i try to dial a number and.. Suprise The call start

    Only one thing.. I can only hear noise, no real voice.. Only noise
    But great job! It's like i've got bad amplification for the sound.. I'm sure it's only a little problem of configuration..

  2. #12
    Newbie
    Join Date
    Jul 2007
    Posts
    17
    And as your project page suggest.. My config is Archlinux 2.6.26 32bit on amd64.. And my usb dongle is D-Link Corp. DBT-122 Bluetooth adapter..

  3. #13
    Newbie samr7's Avatar
    Join Date
    Mar 2006
    Posts
    42
    Quote Originally Posted by Malo View Post
    Only one thing.. I can only hear noise, no real voice.. Only noise
    But great job! It's like i've got bad amplification for the sound.. I'm sure it's only a little problem of configuration..
    Hi Malo,

    I'm glad it sorta worked for you! Sorry the audio quality is stinking. Have you tried running the feedback test mode or the DSP test mode?

  4. #14
    Newbie
    Join Date
    Jul 2007
    Posts
    17
    I made some tests.. I set up my pc audio level with the feedback test mode, i can speak into the micropone (mic line source) and hear myself in the speakers. Then i tried to make a call (a free call to my GSM service provider ) but i still hear only noise from the speaker. I'm not english, so it's difficult for me explain exactly what I get.. I know that when I call my service provider there is a recorded voice that tell me some information.. When I use the pc as headset, i only hear bass tone, noise and I can understand only some pieces of the recorded voice. Any suggestion?

    I can tell you also that i hear noise when I press the mobile phone button.. The pc doesn't reproduce correctly digit tones.. Everything that i should hear from the headset it's.. like crappy, broken. I hope you understand me

    Then i tried to have a call where I spoke into the microphone of the pc and hear from another phone that a was calling.. I get no sound . It's like what i spoke into the mic is not send to mobile micropone..

    And I notice others minor bugs.. When I call the mobile the caller number is showed correctly, but when I dial a new number from the QT interfaces, the last recevied called number is displayed, otherwise the telefone dial the correct number.
    I don't know if it's a bug only of the QT interface or of the rest of the backend.

    Also, if I hadn't recevied call with the QT interfaces connected, when i dial a number nothing is displayed next to "dialing". I think that the bug it's related with what i wrote before.

    And another little bug is that I can't reject incaming call.. I click reject, but nothing appens. Otherwise, if i make a call and press "Hang Up", it works

    Another thing.. It could be possible to see a sort of "history" of associated phones, and the name of the telephones.. Having something like "MyMobileBTName (AA:BB:CCD:EE)". I cheked "auto-reconnect" option in the settings, and it's listed last connected mobile. Having a history of mobile i can try to connect to the one listed also when the mobile is in hidden bluetooth mode.

    Last, i have other suggestion, but they are a very minor thing. A sort of integration, into nghost, with GAMMU to get my telephone phonebook (contacts) and SMS?
    But i thik that it could be a feature that i want only after a stable version of this HFP plugin.

    Again.. Nice job man . This project it's looking so interesting
    I hope i can call soon someone trought my pc

  5. #15
    Newbie samr7's Avatar
    Join Date
    Mar 2006
    Posts
    42
    Quote Originally Posted by Malo View Post
    I made some tests.. I set up my pc audio level with the feedback test mode, i can speak into the micropone (mic line source) and hear myself in the speakers. Then i tried to make a call (a free call to my GSM service provider ) but i still hear only noise from the speaker. I'm not english, so it's difficult for me explain exactly what I get.. I know that when I call my service provider there is a recorded voice that tell me some information.. When I use the pc as headset, i only hear bass tone, noise and I can understand only some pieces of the recorded voice. Any suggestion?

    I can tell you also that i hear noise when I press the mobile phone button.. The pc doesn't reproduce correctly digit tones.. Everything that i should hear from the headset it's.. like crappy, broken. I hope you understand me

    Then i tried to have a call where I spoke into the microphone of the pc and hear from another phone that a was calling.. I get no sound . It's like what i spoke into the mic is not send to mobile micropone..
    Hmm.

    The last time I had a problem where the test modes would work, but audio to and from the phone wouldn't, it was because the audio buffering parameters were unsuitable. The buffer fill level data is used for rate matching and to decide when to drop data or add silence padding. What console output do you get immediately after you attach the mobile phone audio? There should be a table like this:

    Code:
    Pump: packet size = 24
    Pump: input max fill = 340
    Pump: bot packet size = 170
    Pump: bot min fill = 320
    Pump: bot max fill = 490
    Pump: top packet size = 24
    Pump: top min fill = 320
    Pump: top max fill = 400
    Pump: watchdog timeout = 500
    If the "bot packet size" is < 100 samples, you might consider increasing the packet size and output buffer settings in the audio device tab of the configuration screen. In general, tweaking those parameters can help a _lot_. I'd rather it be more automatic than it currently is though. :-(

    Another possibility that I have not yet had to explore has to do with your Bluetooth module's voice coding configuration. When you run (as root) the hciconfig command as below, what do you get?

    Code:
    ricer trunk # hciconfig hci0 voice
    hci0:	Type: USB
    	BD Address: 00:16:CB:0B:DA:D7 ACL MTU: 384:8 SCO MTU: 64:8
    	Voice setting: 0x0060 (Default Condition)
    	Input Coding: Linear
    	Input Data Format: 2's complement
    	Input Sample Size: 16 bit
    	# of bits padding at MSB: 0
    	Air Coding Format: CVSD
    If the input format is not 2's complement and 16-bit, then we might have issues. The HFP app needs to ask the HCI and verify this stuff by itself, but I've never encountered a situation where it hasn't been configured this way from the beginning.

    Quote Originally Posted by Malo View Post
    And I notice others minor bugs.. When I call the mobile the caller number is showed correctly, but when I dial a new number from the QT interfaces, the last recevied called number is displayed, otherwise the telefone dial the correct number.
    I don't know if it's a bug only of the QT interface or of the rest of the backend.

    Also, if I hadn't recevied call with the QT interfaces connected, when i dial a number nothing is displayed next to "dialing". I think that the bug it's related with what i wrote before.

    And another little bug is that I can't reject incaming call.. I click reject, but nothing appens. Otherwise, if i make a call and press "Hang Up", it works
    The Qt GUI isn't meant to be the main interface. Instead, what you ought to do is 'make install' and then run hfconsole. It does require Python and a few Python binding packages, but it's the designated path forward right now.

    As for phone number display, the Qt GUI most certainly has some bugs. However, the way that the backend manages caller ID and outbound phone number information needs to be revised a little bit.

    As for the reject call feature in the Qt GUI, it is hard coded to use the AT+CHLD=0 command, a.k.a. User Declare User Busy, which may or may not be supported by your phone. This is certainly a bug, and there is a more commonly used way to reject calls that it should be using instead. I think I may have put that in there to test the UDUB command.

    Quote Originally Posted by Malo View Post
    Another thing.. It could be possible to see a sort of "history" of associated phones, and the name of the telephones.. Having something like "MyMobileBTName (AA:BB:CCD:EE)". I cheked "auto-reconnect" option in the settings, and it's listed last connected mobile. Having a history of mobile i can try to connect to the one listed also when the mobile is in hidden bluetooth mode.

    Last, i have other suggestion, but they are a very minor thing. A sort of integration, into nghost, with GAMMU to get my telephone phonebook (contacts) and SMS?
    But i thik that it could be a feature that i want only after a stable version of this HFP plugin.
    These are both very good ideas. I'll need to spend some time learning how Gammu works, but having an off-the-shelf package to do contacts and SMS like that is going to lead to something that's pretty cool.

    Unless somebody else wants to volunteer to do this integration?

    The hfconsole program is written in Python, and uses D-Bus to control hfpd. It is very high level, but has a part in configuring just about every aspect of the hands-free profile service, including the audio pipeline. It could be easily extended with Gammu's Python bindings, and should have enough control, if needed, to disconnect the HFP link while the SPP link is open to perform Gammu tasks.

    Quote Originally Posted by Malo View Post
    Again.. Nice job man . This project it's looking so interesting
    I hope i can call soon someone trought my pc
    Thank you for your kind words. Personally, the lack of a good hands-free is frustrating. Parrot devices are really high quality, but they don't do anything we shouldn't already be able to do with a (more capable) PC loaded with the right software.

  6. #16
    Newbie
    Join Date
    Jul 2007
    Posts
    17
    This is what I get..
    Pump: packet size = 8
    Pump: input max fill = 340
    Pump: bot packet size = 170
    Pump: bot min fill = 344
    Pump: bot max fill = 514
    Pump: top packet size = 8
    Pump: top min fill = 344
    Pump: top max fill = 424
    Pump: watchdog timeout = 500
    I tried to change packet size and output buffer but I always get "Trr brr grr.. " only noise

    Then i use hfsconsole.. (till now i still use the qt interface).. And I can't get sound of everytype. The sound config is ok, but when I make a call i get no sound in pc speakers... neither noise. Only silence. I change again packet size and buffer but in the console i can't see anything about what was happening.. No info..

  7. #17
    Newbie samr7's Avatar
    Join Date
    Mar 2006
    Posts
    42
    Quote Originally Posted by Malo View Post
    This is what I get..

    Pump: top packet size = 8
    Pump: top min fill = 344
    Pump: top max fill = 424
    I tried to change packet size and output buffer but I always get "Trr brr grr.. " only noise

    Then i use hfsconsole.. (till now i still use the qt interface).. And I can't get sound of everytype. The sound config is ok, but when I make a call i get no sound in pc speakers... neither noise. Only silence. I change again packet size and buffer but in the console i can't see anything about what was happening.. No info..
    Your SCO MTU size is set to an extremely small value. The HF components should be verifying that this value is set sanely, along with the voice format. So far you're the first to run into this type of problem, and your help to try to get to the bottom of it is greatly appreciated!

    Regarding the lack of terminal output, you might try updating your SVN view. The latest hfconsole code should now be dumping the same level of detail to the terminal as the Qt program.

    Can you paste the output of:

    Code:
    hciconfig hci0 voice
    And while you're at it, maybe try running, as root:

    Code:
    hciconfig hci0 scomtu 64:8

  8. #18
    Newbie
    Join Date
    Jul 2007
    Posts
    17
    [root@ArchBox malo]# hciconfig hci0 voice
    hci0: Type: USB
    BD Address: 00:13:46:01:54:9C ACL MTU: 377:10 SCO MTU: 16:0
    Voice setting: 0x0060 (Default Condition)
    Input Coding: Linear
    Input Data Format: 2's complement
    Input Sample Size: 16 bit
    # of bits padding at MSB: 0
    Air Coding Format: CVSD
    With the second command i see that 'SCO MTU' is set to '64:8'..
    Now i try to sync the last view of svn..
    After i make other tests

  9. #19
    Newbie
    Join Date
    Jul 2007
    Posts
    17
    Mhmmhmh... i have just recompiled the new svn view.. the hfconsole doesn't work anymore.. It's locked in detached condition while the mobile tells me that it's attached
    This is the console output
    [malo@ArchBox ~]$ /usr/local/bin/hfconsole

    (hfconsole:14213): libglade-WARNING **: could not find glade file './hfconsole.glade'

    (hfconsole:14213): libglade-WARNING **: could not find glade file './data/hfconsole.glade'
    ERROR:dbus.connection:Exception in handler for D-Bus signal:
    Traceback (most recent call last):
    File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 214, in maybe_handle_message
    self._handler(*args, **kwargs)
    TypeError: state_changed() takes exactly 3 arguments (2 given)
    ERROR:dbus.connection:Exception in handler for D-Bus signal:
    Traceback (most recent call last):
    File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 214, in maybe_handle_message
    self._handler(*args, **kwargs)
    TypeError: state_changed() takes exactly 3 arguments (2 given)
    With standalone the mobile is attached but when i start the coversation the mobile going to detach the pc..
    [malo@ArchBox ~]$ /usr/local/bin/standalone
    *** Your configured device class may not be recognized as a hands-free
    *** Edit /etc/bluetooth/hcid.conf and change:
    *** class 0x280408;
    HCI Submit 0x0401
    HCI Command status: 0x00 0x01 0x0401
    Creating record for BDADDR 00:18:8D:15:C4:74
    HCI Submit 0x0419
    Scan: 00:18:8D:15:C4:74
    HCI Command status: 0x0c 0x01 0x0405
    HCI Inquiry complete: 0x00
    HCI scan complete
    HCI Command status: 0x00 0x01 0x0419
    HCI Command status: 0x0c 0x01 0x0405
    HCI Name request complete (0): "00:18:8D:15:C4:74" -> "Malo87"
    HCI Command status: 0x00 0x01 0x0405
    HCI Command status: 0x00 0x01 0x041b
    HCI Command status: 0x00 0x01 0x0419
    HCI Name request complete (0): "00:18:8D:15:C4:74" -> "Malo87"
    SDP: Supported features: f
    << AT+BRSF=15
    >> +BRSF: 47
    >> OK
    << AT+CIND=?
    >> +CIND: ("call",(0,1)),("service",(0,1)),("call_setup", (0-3)),("callsetup",(0-3))
    >> OK
    << AT+CMER=3,0,0,1
    >> OK
    << AT+CLIP=1
    >> OK
    << AT+CCWA=1
    >> OK
    << AT+CHLD=?
    >> +CHLD: (0,1,1x,2,2x,3,4)
    Hold modes: 0 1 1x 2 2x 3 4
    >> OK
    << AT+CIND?
    Device connected!
    ThreeWayCalling: yes
    ECNR: yes
    Voice Recognition: yes
    InBandRingTone: yes
    Voice Tags: no
    Reject Call: yes
    >> +CIND: 0,1,0,0
    Indicator: "service" = 1
    Indicator: "callsetup" = 0
    >> OK
    Dial: 42010
    << ATD42010;
    >> OK
    >> +CIEV: 3,2
    Indicator: "callsetup" = 2
    >> +CIEV: 4,2
    Call Setup: Outgoing !Incoming
    HCI Command status: 0x00 0x01 0x0409
    HCI Command status: 0x00 0x01 0x040f
    HCI Command status: 0x00 0x01 0x0406
    >> +CIEV: 3,3
    Indicator: "callsetup" = 3
    >> +CIEV: 4,3
    Call Setup: Outgoing !Incoming
    Read from RFCOMM socket: 104
    Voluntary device disconnect!
    Destroying record for Malo87

  10. #20
    Newbie samr7's Avatar
    Join Date
    Mar 2006
    Posts
    42
    Quote Originally Posted by Malo View Post
    Mhmmhmh... i have just recompiled the new svn view.. the hfconsole doesn't work anymore.. It's locked in detached condition while the mobile tells me that it's attached
    It looks like you're running the old hfpd. Make sure you kill off one that's already running after 'make install'. Later tonight I'll see about checking in some changes to make this more apparent, but they'll be part of a bigger set at this point, including the device history list.

    Regarding your hfstandalone result, it looks like the phone dropped the RFCOMM connection, and I'm puzzled why the phone would drop it at that point in the interaction. The phone might have tried to establish the SCO connecton at that point, and that might have failed, but it still sounds fishy. What kind of phone do you have? Can you PM me an hcidump from the interaction?

    Ah well, it's not supposed to be easy yet, but your help getting to the bottom of critical problems is greatly appreciated!

Similar Threads

  1. Instructions on getting FREE wireless internet from T-Mobile using GPRS
    By bankingdom in forum Wireless Communications
    Replies: 298
    Last Post: 08-16-2011, 03:37 PM
  2. Proper Bluetooth phone application (Paid or free)
    By f1racr in forum Wireless Communications
    Replies: 2
    Last Post: 06-28-2008, 10:41 PM
  3. Free Bluetooth Headset for people in L.A.
    By Rafster in forum Off Topic
    Replies: 0
    Last Post: 06-18-2008, 01:14 AM
  4. Replies: 0
    Last Post: 02-15-2007, 11:12 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •