Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  iPod 5.5 and my car kit
« previous next »
  • Print
Pages: 1 [2] 3

Author Topic: iPod 5.5 and my car kit  (Read 11297 times)

Offline chileboy

  • Member
  • *
  • Posts: 40
Re: iPod 5.5 and my car kit
« Reply #15 on: November 10, 2010, 07:11:57 PM »
Man, that is disappointing, I really want to stick with Rockbox.

Saratoga had said earlier that the protocol the Parrot uses would have to be reverse-engineered and implemented somehow; I've haven't really done any heavy-duty programming since the days of DOS (showing my age I suppose) - and I'm sure you folks working on Rockbox are pretty sharp, but how would I even start such an undertaking?

You said thought there were maybe three Apple protocols...apparently someone reverse-engineered at least one of them, because Rockbox works with some in-car units.
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: iPod 5.5 and my car kit
« Reply #16 on: November 10, 2010, 07:28:55 PM »
I guess you could plug your device into your ipod and log they say to each other then go from there.  I think thats how most of the protocol was understood. 

The accessory code is in /apps/iap.c

I'm not sure if theres currently anyway to log the IAP commands, but you could pretty easily add LOGFs or just record the entire exchange to disk to see where it gets stuck.
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: iPod 5.5 and my car kit
« Reply #17 on: November 11, 2010, 06:06:31 AM »
As far as I understand it (I could be mistaken), the accessory protocol used here doesn't actually play anything on the device either; it just gives the head unit a way to find the files with the garbage filenames that itunes uses; the head unit is still responsible for actually playing them. The connection to the head unit is just a USB port, and you're using your normal ipod dock cable, yes?
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

Offline chileboy

  • Member
  • *
  • Posts: 40
Re: iPod 5.5 and my car kit
« Reply #18 on: November 11, 2010, 01:32:36 PM »
torne, if I'm understanding your question, the cable connector to the head unit has three plugs: a phono for audio-in, a USB, which will read audio files from any standard USB storage device, and an iPod connector (identical to that on a normal iPod dock cable).

I'm not 100% sure how the unit interfaces with the iPod.  When running the OF, I can browse the database, queue files, etc., and the WP screen on the head unit will show the metadata (song, artist, etc., and also album art), but it is definitely the iPod doing the actual decoding, because the Parrot itself doesn't understand ALAC files, for instance.  Also, if I plug in a USB drive with some MP3s, and play them directly using the Parrot, they sound noticeably different (worse, to my ears) than if I play the same file back through the Parrot using the iPod.

Am I making sense?

saratoga, I half-understand what you are telling me in a theoretical way, but don't have the knowledge or experience to actually perform the tasks you're describing!  Nor would I know what I would do with the data...
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: iPod 5.5 and my car kit
« Reply #19 on: November 11, 2010, 01:47:00 PM »
Quote from: chileboy on November 11, 2010, 01:32:36 PM
torne, if I'm understanding your question, the cable connector to the head unit has three plugs:

You're not, hes asking you what cable you use to plug into the head unit.  It has an ipod dock connector on one end, and something on the other end . . .  What is that something?
Logged

Offline chileboy

  • Member
  • *
  • Posts: 40
Re: iPod 5.5 and my car kit
« Reply #20 on: November 11, 2010, 02:08:50 PM »
Oh, I see.  :-[

The other end of the cable has a proprietary plug (with 6 or 8 or so connections) on the other end, which plugs into a blackbox (actually blue) concealed in the console.  That is probably where the heavy lifting is done.  Another cable connects to the display (mounted to the dash), and  there are numerous wires and connectors, some of which connect to a custom harness to the factory audio system (thereby using the factory-installed amp and 6-speakers, enables automatic mute-on-call, etc.)., power, microphone, etc.   There's also a separate wireless jog wheel, FF, RW, etc. control (which I mounted on the console).

The system is an all-in-one phone, audio control and Bluetooth (phone and Bluetooth audio) system.

The manual is here: http://www.parrot.com/usa/support/userguides/#MKi9200 - Page 5 shows all the connections.
« Last Edit: November 11, 2010, 02:40:56 PM by chileboy »
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: iPod 5.5 and my car kit
« Reply #21 on: November 11, 2010, 03:30:30 PM »
Right, ok, that's not the kind of thing I am thinking of, then; so yes, there may be value in having Rockbox support whatever protocol it's using. The tricky bit is.. doing that :)

The first thing to do would be to work out whether the protocol runs over serial like the known IAP protocols, or whether it's done over USB (perhaps SCSI requests over mass storage). There are various things around the internet which suggest that at least some dock interfaces use the latter. This could be done by adding a bunch of debug logf statements to both the IAP handler and the USB stack.

The actual audio almost certainly just goes over line out on the dock connector; it's the control data that we'd have to figure out.
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

Offline chileboy

  • Member
  • *
  • Posts: 40
Re: iPod 5.5 and my car kit
« Reply #22 on: November 17, 2010, 02:49:51 PM »
Again, can someone perhaps give me a clue here?  See original post below.

Thanks...

---------------
OK, I've successfully got my compile environment set up, and tested it by compiling the latest build (w/o changing anything) and transferring it to my iPod.

From what you say, it appears I have to add some lines of code somewhere and recompile, then log the output to a file (or files) which we can then examine.

I will need to be guided through this, I am clueless on where to start.

Thanks.

Quote from: saratoga on November 10, 2010, 07:28:55 PM
The accessory code is in /apps/iap.c

I'm not sure if theres currently anyway to log the IAP commands, but you could pretty easily add LOGFs or just record the entire exchange to disk to see where it gets stuck.

and

Quote from: torne on November 11, 2010, 03:30:30 PM
The first thing to do would be to work out whether the protocol runs over serial like the known IAP protocols, or whether it's done over USB (perhaps SCSI requests over mass storage). There are various things around the internet which suggest that at least some dock interfaces use the latter. This could be done by adding a bunch of debug logf statements to both the IAP handler and the USB stack.

OK, how should I modify the file that saratoga mentions?  Also, basic question, how do I enable logging?  I looked around in the menus and couldn't locate anything.  Do I need to set that option somewhere in the code?

If there are some pertinent documents I need to read up on, that's fine, I just need to be pointed in the right direction...
« Last Edit: January 10, 2011, 01:02:42 PM by chileboy »
Logged

Offline chileboy

  • Member
  • *
  • Posts: 40
Re: iPod 5.5 and my car kit
« Reply #23 on: January 24, 2011, 02:36:59 PM »
OK, I'd like to revisit this - I am thoroughly enamored of RB now, building custom menus, wps, etc., - but still need to boot the OF to use my car system.

Again, can someone help me get started based on the comments from torne and/or saratoga?

I've had a look at iap.c, and, while I understand parts of it in a general sense, I don't know C...also have begun reading up on some of the development docs in a meandering sort of way.

I had one thought, which may be way off-base, but here goes - the Parrot works with many iPods, including back to at least Gen 3.  Torne indicated he believes there are at least three protocols which Apple uses.  I'm guessing that the Parrot first queries the iPod to discover what model has been connected, and then communicates appropriately.  Does RB directly support any of the Apple protocols and, if so, is it possible that changing the USB ID would fool the Parrot into thinking it was an older model, and thereby cause it to use whatever earlier protocol the Rockbox uses already?  I haven't messed with this because, as torne said quite well, "We don't really support this because it's kinda.. hacky. The USB-IF don't like people using USB IDs that don't belong to them."
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: iPod 5.5 and my car kit
« Reply #24 on: January 24, 2011, 06:44:46 PM »
One thing that you could do which would be relatively simple is to work out which of the pins on the dock connector are actually connected to the car kit. This would probably answer some of the basic questions (such as "is it using IAP over serial or something over USB") pretty quickly. Grab a multimeter ;)

Have you been able to check out the current version of the Rockbox source, and compile it to a working build (without modifying any of the code)? Make sure you can do that first.

We only support extremely basic remote protocols, pretty much just commands for play/pause/ffwd/rewind/etc, so that's unlikely to be used by a head unit that displays actual information about what the device is playing.
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

Offline chileboy

  • Member
  • *
  • Posts: 40
Re: iPod 5.5 and my car kit
« Reply #25 on: January 25, 2011, 02:55:40 PM »
Quote from: torne on January 24, 2011, 06:44:46 PM
One thing that you could do which would be relatively simple is to work out which of the pins on the dock connector are actually connected to the car kit. This would probably answer some of the basic questions (such as "is it using IAP over serial or something over USB") pretty quickly. Grab a multimeter ;)

Well, that would be difficult, as the box it's plugged into is concealed in the console or the dash - not sure exactly, as a professional installer did it.  Perhaps I could ask the tech support guy over at Parrot, he's generally pretty forthcoming, but they would probably consider this proprietary information.

Quote
Have you been able to check out the current version of the Rockbox source, and compile it to a working build (without modifying any of the code)? Make sure you can do that first.

Yes, I have done that successfully.  I used to do quite a bit of programming, back in the DOS days...but this is a bit different, as I don't know C (yet), and there is a LOT of code there already.  It's obviously easier when you've written the stuff yourself from the ground up.

Quote
We only support extremely basic remote protocols, pretty much just commands for play/pause/ffwd/rewind/etc, so that's unlikely to be used by a head unit that displays actual information about what the device is playing.

OK, I understand...I'm beginning to think I may be booting the OF in my car "forever"...or embarking down a very long road.
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: iPod 5.5 and my car kit
« Reply #26 on: January 25, 2011, 04:27:37 PM »
Quote from: chileboy on January 25, 2011, 02:55:40 PM
Quote from: torne on January 24, 2011, 06:44:46 PM
One thing that you could do which would be relatively simple is to work out which of the pins on the dock connector are actually connected to the car kit. This would probably answer some of the basic questions (such as "is it using IAP over serial or something over USB") pretty quickly. Grab a multimeter ;)

Well, that would be difficult, as the box it's plugged into is concealed in the console or the dash - not sure exactly, as a professional installer did it.  Perhaps I could ask the tech support guy over at Parrot, he's generally pretty forthcoming, but they would probably consider this proprietary information.
You said it ended in an 8 pin plug, or something? I don't mean what's connected to what, I just mean which dock pins are connected *at all*, to anything. So, you'd only have to test the two ends of the cable... nothing to do with the devices on either end. The dock pinout is standard; it's obvious what will be connected to each pin. What's interesting is "are the USB data lines connected", "is lineout connected", "is the accessory serial port pin connected", etc. This would drastically narrow down the options for how the head unit is communicating with the player.
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

Offline Falco98

  • Member
  • *
  • Posts: 153
Re: iPod 5.5 and my car kit
« Reply #27 on: January 25, 2011, 11:19:48 PM »
Quote from: chileboy on January 25, 2011, 02:55:40 PM
OK, I understand...I'm beginning to think I may be booting the OF in my car "forever"...or embarking down a very long road.

Why not just skip the hassle and connect thru the line-in on the Parrot unit?  You would lose the ability to use its display and ipod controls, but the benefit is that you'd be able to actually use Rockbox.
Logged

Offline chileboy

  • Member
  • *
  • Posts: 40
Re: iPod 5.5 and my car kit
« Reply #28 on: January 26, 2011, 10:24:09 AM »
Quote from: torne on January 25, 2011, 04:27:37 PM
You said it ended in an 8 pin plug, or something? I don't mean what's connected to what, I just mean which dock pins are connected *at all*, to anything. So, you'd only have to test the two ends of the cable... nothing to do with the devices on either end.

Yes, I understand that, but the other end of the cable is connected to the black box which is concealed in the dash - the only way to unplug it would be to disassemble the dash and/or console to gain access to the box.  The iPod connector end feeds up into my center console through a grommet opening - everything else is concealed.

Quote from: Falco98 on January 25, 2011, 11:19:48 PM
Why not just skip the hassle and connect thru the line-in on the Parrot unit?  You would lose the ability to use its display and ipod controls, but the benefit is that you'd be able to actually use Rockbox.

That's defeating the whole purpose of the system, which is to use the display on the dash and the jog wheel and other controls on the console, so I don't have to take my eyes off the road. - it's a safety issue.  Also, the line-in doesn't produce the same level of sound quality.
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: iPod 5.5 and my car kit
« Reply #29 on: January 26, 2011, 02:13:20 PM »
Ah, okay, the way you described it before sounded like you could access that cable. What exactly does the player think happens when you plug it in? Does it go into USB mode?

I suspect the head unit is not using the accessory serial port at all, and is probably operating over USB, so adding extra tracing/logging to iap.c won't get you anywhere (but it may be worth trying this just to prove whether or not it uses IAP at all). It's *probably* doing weird SCSI requests or something similar, which will require a variety of odd hacks to our USB stack to get at ;)
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

  • Print
Pages: 1 [2] 3
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  iPod 5.5 and my car kit
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.086 seconds with 14 queries.