#370000 - 09/12/2017 06:04
Re: BlueGigaEmpeg
[Re: mlord]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Cool, my design powers the Betz board with 5v at its 5v input pin (the one you suggested), and since I'm already doing stuff with 10k resistors and so I have a big bag of them, I'll just use a pair of those for the voltage divider. Perfect! Thanks so much!
|
Top
|
|
|
|
#370002 - 09/12/2017 08:03
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Updated code here: https://create.arduino.cc/editor/tfabris/4c5eea9a-1462-45d7-908d-81a5bb6b0d90/previewChanges in this version: - Additional code comment cleanup, fixing typos, clarifying new Hijack information such as V522 and suppress_notify=2, add the new voltage divider circuit description, etc. - New section in the code comments about possible special needs for powering the empeg car with this configuration (should probably read it). - New section in the code comments about special needs for connecting the Arduino debug cable and startup order when debugging (you'll need these tips soon). - A couple new functions to handle situations where the bluetooth chip gets reset - attempting to work around some behavioral bugs I encountered surrounding disconnect/reconnect situations.
|
Top
|
|
|
|
#370003 - 09/12/2017 19:00
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Thanks again.
To make the breakout board easier to use with a PC for s/w development, today I moved the honkin 470uF capacitor (C16) to a better location on the board, so that it doesn't totally block the analog audio-in jack. Duh. WTF lays out a board that poorly??
Then I found a relatively slim profile 1/8" audio cable and trimmed enough vinyl from the side of one connector end so that it can actually mate with the zero clearance jack on the board. Another major design fail that!
Cheers
|
Top
|
|
|
|
#370004 - 09/12/2017 19:29
Re: BlueGigaEmpeg
[Re: mlord]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Cool!
I have not tried to use that analog audio connector because I noticed that it was connected more or less directly to the chip. Whereas on the BlueGiga board, it had a bunch of capacitors and other interesting circuits inbetween the line in connector and the chip. I didn't want to have to figure all of that out so I just have been going pure I2S with this board.
If I were in your shoes I would have just soldered my own pigtail female jacks to the line input pins on the board, instead of trying to move stuff around on that board.
|
Top
|
|
|
|
#370005 - 09/12/2017 19:30
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
I am currently attempting to use GitHub instead of the Arduino creator's site for public updates to the file: https://github.com/tfabris/BlueGigaEmpegThis will make collaboration on the code easier now that you are starting to work on it.
|
Top
|
|
|
|
#370006 - 09/12/2017 20:14
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
I'm already adding known bugs and issues to the github repository. Poke through those to understand the current problems with the code. :-)
|
Top
|
|
|
|
#370007 - 09/12/2017 20:18
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Ha. I'm not quite at that point yet. However, the Arduino clone just arrived here a few minutes ago, and I'm pondering whether or not to hook it all up and rush out to the garage immediately! EDIT: Well, the sketch compiles and loads onto the Arduino without any fuss. There doesn't seem to be much in the way of verifying that the BT module is there and working (?)
Edited by mlord (09/12/2017 21:35)
|
Top
|
|
|
|
#370011 - 09/12/2017 22:18
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Yup. No pairing, and not even an attempt to pair according to the head unit. No error messages from the sketch, no indication that bluetooth is working or not working from its point of view. I guess I'll have to add some error-checking to the code or something to get this working. Later. MUCH. EDIT: The only clue: my smartphone did not see the WT32i "on the air" during the entire time it was hooked up to the BGE setup. Now, with the BT module standalone, it sees it. So, something for me to go on over the holidays! Cheers
Edited by mlord (09/12/2017 22:23)
|
Top
|
|
|
|
#370013 - 09/12/2017 22:37
Re: BlueGigaEmpeg
[Re: mlord]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Mmmm.. back in the house, it does spew some BT output, and even offers to pair "empeg-car" with my Android phone! I wonder if I just have to figure out my car's head unit a bit more then. In the car, I see: INQUIRY 30 and then a big long pause and nothing really useful. But back in the house, talking to my phone rather than the car, there's all of the nice diagnostics I was expecting, like this: --> INQUIRY 30
INQUIRY_PARTIAL a0:91:xx:xx:xx:xx 5a020c
------------------------------------
Pairing with device address:
a0:91:xx:xx:xx:xx
------------------------------------
--> PAIR a0:91:xx:xx:xx:xx
INQUIRY 1
INQUIRY a0:91:xx:xx:xx:xx 5a020c
PAIR a0:91:xx:xx:xx:xx OK
--> CALL a0:91:xx:xx:xx:xx 19 A2DP
CALL 0
CONNECT 0 A2DP 19
--> CALL a0:91:xx:xx:xx:xx 17 AVRCP
CALL 1
NO CARRIER 0 ERROR 0
--> A2DP STREAMING START
Empeg state..................................PAUSED ||
NO CARRIER 1 ERROR 9801 L2CAP_CONNECTION_FAILED
--> A2DP STREAMING START
Edited by mlord (09/12/2017 22:56)
|
Top
|
|
|
|
#370014 - 09/12/2017 22:54
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Progress in the car! --------------------------------------
Done resetting. Beginning pair.
--------------------------------------
--> INQUIRY 30
INQUIRY_PARTIAL a0:56:xx:xx:xx:xx 760408
------------------------------------
Pairing with device address:
a0:56:xx:xx:xx:xx
------------------------------------
--> PAIR a0:56:xx:xx:xx:xx
INQUIRY 1
INQUIRY a0:56:xx:xx:xx:xx 760408
SSP COMPLETE a0:56:xx:xx:xx:xx HCI_ERROR_AUTH_FAIL
PAIR a0:56:xx:xx:xx:xx FAIL Now just gotta figure out why SSP is failing. What is that "760408" string, anyway?
Edited by mlord (09/12/2017 22:57)
|
Top
|
|
|
|
#370016 - 10/12/2017 01:29
Re: BlueGigaEmpeg
[Re: mlord]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Something worth trying. This may not work, but it is something I had to do with my car stereo.
Don't invoke the pairing routine on the Arduino. (If you wired up a button, don't press the button.)
I've found that with some devices you don't do the pairing from both devices. For devices with interactive touchscreen UI's, you just do the pairing from the touch screen and don't touch the device you're pairing with.
With my bluetooth headset, I have to invoke pairing mode on both devices because neither one has a touchscreen UI. But on the car stereo, I just do everything from the car stereo screen.
Try that.
|
Top
|
|
|
|
#370017 - 10/12/2017 01:34
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
More specifically, the "pair" button that I wired up does a few things:
- Turns on the external LED (if you wired one up). - Clears out any existing paired devices. - Resets the entire thing to defaults. - Looks for something to pair for 30 seconds. - At the end of those 30 seconds it turns off the Pair LED and goes back to normal mode.
For some devices, you have to initiate pairing with the other device while the LED is on. For some other devices, you can pair only when the LED is off, i.e., when the board is sitting there in normal mode doing nothing special.
|
Top
|
|
|
|
#370019 - 10/12/2017 02:35
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
The car in this case wants the device to initiate things. No menu to pick an unpaired device from.
The documentation claims that it supports SSP, but I'm guessing now that's just plain incorrect. It most likely REQUIRES the PIN. So I'll hack around that and see where it leads.
Cheers
|
Top
|
|
|
|
#370023 - 10/12/2017 04:18
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
I'm beginning to suspect that this very new Harman head-unit only really works with BT 4.x compliant devices, those which implement BR/EDR.
The WT32i is a BT 3.x device. Their newer model is the BT121, which does have all of the BT 4.1 bells and whistles. But does the latter do audio profiles? Dunno.
|
Top
|
|
|
|
#370024 - 10/12/2017 04:33
Re: BlueGigaEmpeg
[Re: mlord]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
I would be very surprised if someone implemented a BT4 device which wasn't backward compatible with BT3. I thought that backward compatibility with BT3 was a requirement of BT4 or something.
My guess is that it's more likely that my Arduino software is simply not setting the right thingys for it to pair correctly. I was suspicious that I wasn't necessarily doing all the right things in that procedure. I'll bet if you poke at the docs and the commands enough you'll find the secret.
This is why I wanted to test it on more devices. :-)
|
Top
|
|
|
|
#370025 - 10/12/2017 04:35
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Dig through the docs and poke at more options for how to configure these strings in the code:
const String btAuthTypeString = "SET BT SSP 3 0"; const String btPinCodeString = "SET BT AUTH * 0000";
See if you can try out different versions of that stuff on the debug console and see if you can get it to pair.
|
Top
|
|
|
|
#370026 - 10/12/2017 04:48
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Related to the 5v/3v thing...
We already covered the topic of the I2S signals, right? We don't need voltage dividers on the I2S connections, correct? Those are already at 3v coming out of the Empeg?
|
Top
|
|
|
|
#370027 - 10/12/2017 04:53
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Yes, the I2S lines from the empeg use 3.3V logic, so all good there.
For pairing, there really are no other parameters or options when using Simple Secure Pairing (SSP) protocol. But that protocol has been supplanted in BT 4.x with a "new improved" secure pairing method. I'm suspecting that Harman abandoned the old one, since the normal device that it pairs with is a smartphone, and most all of them have supported 4.x for years now.
One good clue is that the verification PIN it shows on the touchscreen is 8 digits long, not the old-style 4 digits.
I suppose I might have a notebook here with an older BT module inside.. so I could install bluetooth software on it and see if it will pair with the head unit.
Edited by mlord (10/12/2017 04:56)
|
Top
|
|
|
|
#370028 - 10/12/2017 05:21
Re: BlueGigaEmpeg
[Re: mlord]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Yeah, I see the "HCI_ERROR_AUTH_FAIL" in your output, so that would indicate it has something to do with the security.
Maybe simply selecting a different security type would work in your case. Maybe it's not a BT3/BT4 problem, but merely finding a way to get the WT32i and your headunit to agree on a security protocol.
By the way, you wanted to know what the "760408" string was in your output. I think that's the bluetooth Class Of Device bitmask for your headunit, in hexadecimal, based on the docs (section 7.12 of the iWrap 6 command reference).
Look up the references for pairing and security in the iWrap 6 command reference. Look at section 6.38 ("PAIR"), 6.66 ("SET BT SSP"), and 6.51 ("SET BT AUTH").
In particular, I suggest trying SET BT AUTH with a specific PIN code. It says that the PIN can be 0-16 characters, so I think that your suspicions about the 8-digit PIN are unfounded.
If it helps, below is the onscreen output from a successful pairing process with my bluetooth headset. Yours is the same except that your gets an authentication error instead of OK. I suspect you merely need to poke at the commands I referenced above to find the exact combination of magic words to get it to pair.
--> INQUIRY 30 INQUIRY_PARTIAL 0c:e0:e4:6c:75:68 240404 ------------------------------------ Pairing with device address: 0c:e0:e4:6c:75:68 ------------------------------------ --> PAIR 0c:e0:e4:6c:75:68 INQUIRY 1 INQUIRY 0c:e0:e4:6c:75:68 240404 PAIR 0c:e0:e4:6c:75:68 OK --> CALL 0c:e0:e4:6c:75:68 19 A2DP CALL 0 CONNECT 0 A2DP 19 --> CALL 0c:e0:e4:6c:75:68 17 AVRCP CALL 1 CONNECT 1 AVRCP 17 CONNECT 2 A2DP 19 --> A2DP STREAMING START AVRCP 1 GET_CAPABILITIES 2 --> AVRCP RSP A2DP STREAMING START 0 --> A2DP STREAMING START Empeg state...................................PLAYING > AUDIO ROUTE 0 A2DP LEFT RIGHT Detected: Pairing Mode is Complete. --> SET CONTROL RECONNECT 600 0 0 7 0 A2DP A2DP AVRCP STORECONFIG --> A2DP STREAMING START Empeg state...................................PLAYING > --> A2DP STREAMING START Empeg state..................................PAUSED || --> A2DP STREAMING START Empeg state...................................PLAYING > -------------------------------------- Pairing process ended. --------------------------------------
|
Top
|
|
|
|
#370031 - 10/12/2017 08:18
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
I've logged this as an issue at https://github.com/tfabris/BlueGigaEmpeg/issues/7You can log into GitHub and then "Watch" the BlueGigaEmpeg project for code and issue updates. I highly recommend it.
|
Top
|
|
|
|
#370032 - 10/12/2017 08:26
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Looking more at the docs, I recommend trying to change this line 972 from:
const String btPinCodeString = "SET BT AUTH * 0000";
to
const String btPinCodeString = "SET BT AUTH * 12345678";
where "12345678" is the correct 8-digit pin code for your car stereo.
Does that work and allow it to pair?
|
Top
|
|
|
|
#370033 - 10/12/2017 09:17
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Hm. Now on the Betz board, I'm getting a recurrence of the original problem I had when I first got it:
- Regardless of whether the board is connected to my assembly and getting 5v from its 5v pin or whether the board is fully disconnected from everything and getting 5v from its built in USB connector... - When I apply power to the Betz board. - Instead of its LED lighting up and blinking randomly as it is expected to, - Its LED blinks a steady slow blink indicating the chip is asleep. - Pressing the board's RESET button wakes up the board and the chip and everything works then.
Originally this was fixed by setting the built-in switch to the up/left position so that it connects the "BATT" voltage. But the switch is set correctly and I've tested its continuity/resistance and it all looks correct for that switch.
|
Top
|
|
|
|
#370034 - 10/12/2017 12:39
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Mine does that when I forget to re-remove the solder blob at JP4. It also did it for a few minutes after I moved that big 470uF capacitor and got the polarity wrong way around in the new location. Flipped it around the right way and it went back to bright/random flashing again.
|
Top
|
|
|
|
#370035 - 10/12/2017 12:45
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Does that work and allow it to pair? No, I tried that very early on. And the 8-digit code from the HU is random and changes regularly. The use of a PIN precludes the use of SSP. So since SSP isn't working, I'll try the even older PIN method next, perhaps later today. But thanks for everything to this point -- very very happy to see this project going well at your end! Subaru's choices of head units over the years have had consistent reputations for difficult BT pairing, often requiring bizarre workarounds. Probably something like that is hitting me here. I'll exhaust the possibilities here first, and then perhaps hunt for a BT 4.x module to try. There don't seem to be many (any?) around that do audio, but some must exist. There's even a (paid) Android app that claims to support having the handset pretend to be pretty much anything over bluetooth, with full packet tracing. But no way to know if the claims are true without up-front payment, so I'm holding off on that for now. Cheers
Edited by mlord (10/12/2017 13:12)
|
Top
|
|
|
|
#370037 - 10/12/2017 17:19
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Progress! Still working out the glitches though.
--> SET BT SSP 0 0
--> SET BT AUTH * 0000
--> SET CONTROL AUDIO INTERNAL I2S_SLAVE EVENT KEEPALIVE 16
--> SET CONTROL PREAMP 0 0
--> SET CONTROL MICBIAS 0 0
--> SET CONTROL GAIN 9 0
Done Setting Defaults.
--> RESET
WRAP THOR AI (6.2.0 build 1122)
Copyright (c) 2003-2017 Silicon Labs Inc.
READY.
--------------------------------------
Done resetting. Beginning pair.
--------------------------------------
--> INQUIRY 30
INQUIRY_PARTIAL a0:56:b2:4c:66:30 760408
------------------------------------
Pairing with device address:
a0:56:b2:4c:66:30
------------------------------------
--> PAIR a0:56:b2:4c:66:30
INQUIRY 1
INQUIRY a0:56:b2:4c:66:30 760408
SSP CONFIRM a0:56:b2:4c:66:30 792011
PAIR a0:56:b2:4c:66:30 OK
--> CALL a0:56:b2:4c:66:30 19 A2DP
CALL 0
SSP CONFIRM a0:56:b2:4c:66:30 593250
NO CARRIER 0 ERROR 9003 L2CAP_CONNECTION_REJ_SECURITY
--> A2DP STREAMING START
Empeg state..................................PAUSED ||
SSP COMPLETE a0--> A2DP STREAMING START
Empeg state..................................PAUSED ||
:56:b2:4c:66:30 HCI_ERROR_AUTH_FAIL
SYNTAX ERROR
SYNTAX ERROR
--------------------------------------
Pairing process ended.
--------------------------------------
Edited by mlord (10/12/2017 17:22)
|
Top
|
|
|
|
#370039 - 10/12/2017 17:47
Re: BlueGigaEmpeg
[Re: mlord]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Cool!
Is there a time/pause between these two pieces of output?
SSP CONFIRM a0:56:b2:4c:66:30 593250 NO CARRIER 0 ERROR 9003 L2CAP_CONNECTION_REJ_SECURITY
According to section 7.21 of the docs, I'll bet that you have to respond to SSP CONFIRM with a command something like this:
SSP CONFIRM a0:56:b2:4c:66:30 12345678 (where 12345678 is the passkey shown on the car stereo screen)
If true, this is a pain in the ass because it requires that you enter the passkey shown on the car stereo's screen. But it's worth trying that, just typing the command into the debug console.
In the long term, you have the opportunity, with your setup, to create a UI on the empeg for entering that passkey. And the user would only have to do it as often as they reset the bluetooth module.
Perhaps there is a way to configure the security settings, either on the stereo or in the bluetooth commands, to switch to a different security model that doesn't require the passkey. Some way to configure the module to respond to the stereo with "I don't have the capability to enter a passkey so just drop back to a less secure method please". Dunno if that's possible.
|
Top
|
|
|
|
#370040 - 10/12/2017 17:49
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
Wait a second.
In your output... this output line:
SSP CONFIRM a0:56:b2:4c:66:30 593250
Was that 593250 ... was that the randomly-generated passkey? If so then the code merely needs to spit it back, right? Literally echo the entire line back to the sender as-is.
|
Top
|
|
|
|
#370041 - 10/12/2017 17:55
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
If that works at the conosle then the code change to fix it is simple: Add this:
// Special case - Respond to security confirmation for stereos that require
// passkey phrase to be echoed back to them
if (theString.indexOf(F("SSP CONFIRM")) > (-1))
{
commandToSend = theString;
}
Right before this existing section of code:
// Send the final assembled pairing response string to the bluetooth chip.
SendBlueGigaCommand(commandToSend);
|
Top
|
|
|
|
#370042 - 10/12/2017 18:20
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
|
I think I may have found the issue with the power on circuitry on the Betz board. Your notes about how it behaved in unexpected ways after you changed the capacitor I don't think are related to my case because I didn't change the circuits on the board. The BlueGiga dev board has a much more complicated circuit related to power on. Located inside this zip file is the full schematic for the BlueGiga dev board and it has a very specific note on this: https://www.silabs.com/documents/login/reference-designs/DKWT32i-v2.2.zipIt says "Minimum voltage hold circuit to prevent reset causing turnign [sic] off the board. This circuit keeps the enable pin active until FW has booted after the reset." Whereas the Betz board simply has a switch to keep the Enable pin always active. I wonder if that's the root of the problem, that the more complicated circuit is needed?
|
Top
|
|
|
|
#370043 - 10/12/2017 18:26
Re: BlueGigaEmpeg
[Re: tfabris]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14493
Loc: Canada
|
Wait a second.
In your output... this output line:
SSP CONFIRM a0:56:b2:4c:66:30 593250
Was that 593250 ... was that the randomly-generated passkey? If so then the code merely needs to spit it back, right? The iWRAP stuff says the code just has to send OK in response to such, as in: SSP CONFIRM a0:56:b2:4c:66:30 OKSo I added a line to the table to do that automatically, and it does it. But then things still fail later on. So I've gone back to just hooking up the dev board to the laptop, and manually entering the INQUIRY, PAIR, etc.. commands to see what is going on. The manual method yields this, with my input in lowercase, and responses in uppercase: set bt ssp 0 0
set bt auth -
pair a0:56:b2:4c:66:30
SSP CONFIRM a0:56:b2:4c:66:30 019942
ssp confirm a0:56:b2:4c:66:30 ok
## The head-unit also pops up a PIN confirmation dialog, and I click OK there.
PAIR a0:56:b2:4c:66:30 OK
## Now the head-unit pops up "Pairing Successful",
## but then asks if I want to download the contacts/phonebook ?
## Whether I click OK or NO, the next thing that happens is this:
SSP CONFIRM a0:56:b2:4c:66:30 423549
SSP COMPLETE a0:56:b2:4c:66:30 HCI_ERROR_AUTH_FAIL
## Those two lines come out with no time between them,
## so I have no opportunity to send another OK confirmation for it.
## The next two are just as inseparable, and appear right after the first two:
SSP CONFIRM a0:56:b2:4c:66:30 621295
SSP COMPLETE a0:56:b2:4c:66:30 HCI_ERROR_AUTH_FAIL So that's where I'm at. I wonder why it wants a phone book download from an audio device??
|
Top
|
|
|
|
|
|