yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] fr4nk1yn:
Your question is kind of confusing. What do you want to be simulated as an iPod?

This app makes headunits think an Android device is an iPod, and control it while showing sing info on the display. A 3ppib connector isn't needed, but an interface device of some kind is.
[Android Apps and Games] theballo:
Exactly what I want. The device interface would be USB, no? Everything presented implies it needs the 30 pin connector for some reason even though the only input to the head unit is USB.
[Android Apps and Games] fr4nk1yn:
Ok. I see a couple of the issues. One. I can not find the info on the serial cable anymore. Not even in my own pictures from the time. Odd.

Two. You've found the original app that's not supported anymore.

To make the cable you just need a male USB A data cable, and a USB to serial adapter, or a Bluetooth module. You can get both cheap from AliExpress. But you'll have to wait up to 3 weeks for the parts.

You simple wire red to the adapter's vcc, black to gnd, green to Rx, and white to Tx. I could be backwards on the white and green. Worst that happens is it won communicate.

For the app look at PodEmu. Very stable and still being developed.

Also be aware this is only for data, unless you use Bluetooth, you still need an aux cable.
[Android Apps and Games] theballo:
So again, as per my original post, this is the part that confuses me: Why the heck do I need all that noise if the output is ultimately USB? The head unit DOES NOT have a 30pin serial input.
[Android Apps and Games] fr4nk1yn:
Because you're looking at the original 6 and a half year old post.
[Android Apps and Games] theballo:
This doesn't answer my question. Why would you need to go from USB -> hacky serial protocol -> USB. Why the middle man. It makes zero sense
[Android Apps and Games] rp9:
theballo, you really need to read carefully and understand the first post of this thread. USB is just the carrier. The application can only "speak" serial.
[Android Apps and Games] theballo:
Assuming you're talking about UART and not USB serial, when I connect the iPod to the head unit it does not use the serial pins from the iPod; only USB.
[Android Apps and Games] robnitro:
Sorry if I am confused here. I have a 2011 BMW x5 which can play music directly from apple using a normal usb port. No y cable needed which was in the older models.

I'd like to emulate this on android. If it's done with a single cable from iphone to usb, can it be done from a samsung s8 that has usb audio?

Splitting the audio signal to aux might pose a problem since using the usb option on idrive makes it switch to usb as input. (files OR music stream/controls)
[Android Apps and Games] mindracing:
This is a really interesting project and somewhat relates to my problem.

I have a car with a 30-pin dock connector for an iPod.

I want to use it as an aux-in.

However, the car only makes it selectable as an input if it actually recognises an iPod or, for example, a Tune2Air Bluetooth adaptor, is connected.

If I just connect a simple aux-in adaptor, of which there are many, the car doesn't see it as a selectable input.

I suspect that there is a sensing pin in the 30-pin connector that the car recognises as an iPod.

Does anyone here have any input to this? Is it as simple as a sensing pin or is it likely to be more complex?
[Android Apps and Games] simulatorhck:
I tryed but the problem is that I like the player of gingerbread for the reason that it scan for video and make only 1 list and it has also brightness control directly with touch..

I think it dont use the same api of the newer playes so i tryied it without success

:(
[Android Apps and Games] spadival:
You can do it if your android device supports USB digital audio in OTG mode. I don't know about other devices, but I have seen a a rom for Nexus 7 that does this.

http://mehrvarz.github.io/nexus-7-usbrom/

In this configuration, you will need a USB hub connected via OTG cable to the Android device. Then you have to plug the USB-to-serial converter and a USB DAC to the USB Hub. Now the control signals (Play/Pause/Next/Prev etc) are sent via the USB-to-serial converter and the analog audio signals come out of the USB DAC.

I have not tried this because good USB DACs are quite expensive and I don't mind the 3.5mm plug at the top.
[Android Apps and Games] ckitching:
Does "Bad USB connection" indicate it doesn't recognise or can't use the USB serial adapter (I've been trying with a PL2303HX.D adapter I got from adafruit connected to my Galaxy S4), or that it's not communicating with the attached dock (I tried a Memorex clock radio and my Hyundai car)? I didn't see anything logged by your app in logcat either, so I'm at a loss to know what could be causing the problem

On a different note, any chance this app will ever support serial over Android Open Accessory Protocol? I've been playing with my phone with that and a raspberry pi. It should be simple to pass through anything sent over the USB to the RPI's UART.
[Android Apps and Games] spadival:
Bad Usb connection error is at device driver level. Can you check logcat for messages from FTDriver .. I usually get this message sometime when I plug the usb, but goes away when I physically remove and replug the usb cable.

This app is using OAP.. but in USB host mode. OAP in USB device mode requires the USB Host to jump through a few hoops before connection is established.. There is FT311D chip which supports OAP device mode and serial over USB, but I havent seen commercial cables/boards which use this chip.. so waiting.
[Android Apps and Games] ckitching:
I definitely see FTDriver messages. These seem to be relevant to the USB device being plugged in:

06-20 17:50:03.397 V/UsbHostManager( 710): USB HOST UEVENT: {SUBSYSTEM=host_notify, STATE=ADD, DEVNAME=usb_otg, DEVPATH=/devices/virtual/host_notify/usb_otg, SEQNUM=30051, ACTION=change}

06-20 17:50:03.407 D/UsbHostManager( 710): turnOnLcd ::

06-20 17:50:03.417 D/UsbHostNotification( 710): setUsbObserverNotification : notify id = 998563545, device = UsbDevices, title = USB connector connected

06-20 17:50:03.437 D/UsbHostNotification( 710): send the timeout : current 1371768603447, vailed = -1978, displayed = 1371768603425

06-20 17:50:03.667 D/usbhost ( 710): read (wd : 2) 002 (CREATE) (32:16)

06-20 17:50:03.667 D/usbhost ( 710): watch [r:2][001:3][002:4][003:-1][004:-1][005:-1][006:-1][007:-1][008:-1][009:-1]

06-20 17:50:03.667 D/UsbHostManager( 710): usbDeviceAdded : device :: /dev/bus/usb/002/001 [1d6bh:0002h] [09h,00h,01h] (Hub(Hi-speed hub with single TT ))

06-20 17:50:03.667 D/UsbHostManager( 710): onUEvent(device) :: action = add, devtype = usb_interface, device = null, product = 1d6b/2/304, type = 9/0/1, interface = 9/0/0, devpath = /devices/platform/msm_hsusb_host/usb2/2-0:1.0

06-20 17:50:03.667 W/UsbHostManager( 710): /dev/bus/usb/002/001 is put on a blocklist [1d6bh:0002h:09h:00h:01h]

06-20 17:50:04.138 D/usbhost ( 710): read (wd : 4) 002 (CREATE) (32:16)

06-20 17:50:04.138 D/UsbHostManager( 710): onUEvent(device) :: action = add, devtype = usb_interface, device = null, product = 67b/2303/300, type = 0/0/0, interface = 255/0/0, devpath = /devices/platform/msm_hsusb_host/usb2/2-1/2-1:1.0

06-20 17:50:04.158 D/UsbHostManager( 710): usbDeviceAdded : device :: /dev/bus/usb/002/002 [067bh:2303h] [00h,00h,00h] (Interface Descriptors)

06-20 17:50:04.158 D/UsbHostManager( 710): usbDeviceAdded : interface :: /dev/bus/usb/002/002 [067bh:2303h] [ffh,00h,00h] (Vendor Specific)

06-20 17:50:04.178 D/UsbSettingsManager( 710): resolveActivity : matches count = 2, defaultPackage = null

06-20 17:50:04.178 D/UsbSettingsManager( 710): resolveActivity : UsbResolverActivity

06-20 17:50:04.238 D/usbhost ( 710): watch [r:2][001:3][002:4][003:-1][004:-1][005:-1][006:-1][007:-1][008:-1][009:-1]

06-20 17:50:04.238 D/usbhost ( 710): read (wd : 1) ttyUSB1 (CREATE) (32:16)

06-20 17:50:04.238 D/usbhost ( 710): watch [r:2][001:3][002:4][003:-1][004:-1][005:-1][006:-1][007:-1][008:-1][009:-1]

06-20 17:50:05.419 D/UsbHostNotification( 710): setUsbObserverNotification : cancel id = 998563545, device = UsbDevices

06-20 17:50:10.434 I/FTDriver(11923): Devices : UsbDevice[mName=/dev/bus/usb/001/002,mVendorId=1478,mProductId=36940,mClass=0,mSubclass=0,mProtocol=0,mInterfaces=[Landroid.os.Parcelable;@43000510]

I was able to connect to my raspberry pi over serial with this adapter via Slick USB 2 Serial Terminal, although it was weird and laggy. I tried a few other terminal apps, but none would find the serial adapter. So, maybe it's a compatibility problem.
[Android Apps and Games] ckitching:
I only ever get that one FTDriver message. The vendorId and productId on the message I posted does not match the device. The actual device is 067B:2303. I looked at the source you linked, it seems the driver completely aborts if it can't get permissions to the first USB device it enumerates in FTDriver::begin(). I'm not entirely sure why it requests permission to a device before figuring out if it even one wants to use, though, since that happens later in FTDriver::getUsbInterfaces(). My phone (SGH-I337M) comes with USB devices always connected, which is causing the problem:

u0_a275@android:/ $ lsusb

Bus 001 Device 002: ID 05c6:904c

Bus 001 Device 001: ID 1d6b:0002

The first device is a Qualcomm device of some sort, and the second is the internal USB hub.

After connecting the device, these devices are listed:

u0_a275@android:/ $ lsusb

Bus 001 Device 002: ID 05c6:904c

Bus 002 Device 002: ID 067b:2303

Bus 001 Device 001: ID 1d6b:0002

Bus 002 Device 001: ID 1d6b:0002

As for my car, it's a 2012 Hyundai Elantra. The buttons and trim is different from the shots in the first post (it seems they decided the North American market wants more plastic chrome), but the display is pretty much identical. The iPod adapter I got for it is one of the ones that plugs into both the USB and Aux ports.
[Android Apps and Games] spadival:
Ok, I'll modify my copy of FTDriver to skip the other devices and send you the modded apk.

Nice car.. It should be compatible.. Audio has gone digital from 2013 onwards in the models with the 5/7 inch displays.
[Android Apps and Games] spadival:
ckitching, I have attached the updated version of PodMode with the fix for FTDriver. Can you please test it and post the results here? Once you give the all ok, I'll upload it on Google Play.

I think this is a bug that affects JB 4.2.2 as I encountered this problem when I updated my S3 to the pre-release JB 4.2.2 build.
[Android Apps and Games] ckitching:
Well, now it connects to the USB device on my phone. I haven't managed to get the app to connect to anything, though. It seems the pins I was trying to use for serial ground is not connected in my car iPod adapter (pin 1, 15/16 and 11 are all not connected to anything). Firewire ground pin 30 and audio ground pin 2 are the only ones available. I guess that's the downside to the cheap versions of the Hyundai iPod adapters on DX and Amazon. So I've got more work to do and parts to buy...
[Android Apps and Games] spadival:
Audio ground pin 2 should work, though it is less than ideal. But it seems you can bypass the Hyundai iPod adaptor entirely like simulatorhck has done - I went via the Hyundai adaptor route because I thought there was a 4th "iPod Detect" ring on the aux plug (connector A) - turns out there wasn't. Do note that numbering on Connector C in the diagram below is reverse of what I have described in the thread.

srbbe1004c by spadival, on Flickr

(pic courtesy/copyright of https://www.hyundaitechinfo.com/ )

EDIT: I have no idea what the video pin does... Can't suppose we can send composite video signal to the 4 line LCD display :)

Pic below of simulatorhck's setup
[Android Apps and Games] ckitching:
After getting ground connected to something other than a dead pin, it seems to work much better. I'm not getting song metadata sent to the car stereo for some reason (tried Slacker and Play Music), but the controls work and podmode correctly detects advanced mode. I'll try a few more apps later.

That's what I had assumed, too, but it's good to know that there's nothing complex here if I ever want to replace it with a plain old modified USB cable and audio extension.

Maybe the expensive navigation car stereo version supports something with that. Then again, my car manual says the car supports Bluetooth AVRCP, but it doesn't actually do anything with it.
[Android Apps and Games] spadival:
Have you turned on the setting in Phone's Settings>>Accessibility>>Services>>PodMode? Unfortunately, that is the only method available in Android API to capture status bar notifications from music apps and send the song metadata over to the car stereo. You'll have to trust my app doesn't capture credit card info :)

Untitled by spadival, on Flickr

Yeah, Bluetooth without AVRCP via steering wheel controls was a disappointment. But that is the reason that set me on the path to create this app.

Can I confirm the details and add to the still-thin compatibility list?

Samsung S4

2012 Hyundai Elantra (US).

Memorex iPhone dock Model?
[Android Apps and Games] ckitching:
The Galaxy S4 (SGH-I337M) works with my 2012 Hyundai Elantra (Canada).

It doesn't work with this Memorex clock radio model Mi4604PBLK I've got. I tried hooking it up to my PC without an iPod connected, and I can't get any serial data out of it. I did something a bit dangerous, and hooked up the iPod to it while my serial adapter was still hooked up to receive on some of the serial pins and could see communication, but the commands I eavesdrop from the conversation look a bit different from the normal iPod simple remote protocol. I'm guessing it needs something other than just the three pins I've been hooking up, but I don't know what. I might have to rip it apart just to see which pins it actually uses and go from there. I don't have an oscilloscope or the knowledge on how to make it work, so it may not ever really work.
[Android Apps and Games] spadival:
Have you tried changing the connection speed/ baud rate in PodMode settings? I found that my Griffin iFM Radio accessory used the lower of the two baud rates.

Also, the accessory uses pin 23 and 1 to detect if an iPod is connected to it.
[Android Apps and Games] ckitching:
I know it uses 19.2kbps.

So, it requires a load on +5V? I don't have a charging OTG cable at the moment, so I haven't tested that on this device.
[Android Apps and Games] spadival:
+3.3v to be precise. That is why I use FTDI/Prolific circuit with 3.3v output. Self-powered accessories check if PIN 1 is grounded to detect the "iPod".

If you have it saved somewhere, can you post the serial communication between the Memorex dock and the iPod?
[Android Apps and Games] ckitching:
At this point, I've connected together every ground pin that I can, so either it is looking for the +3.3v, or something else. Unfortunately, my Prolific adapter only provides me +5V power, despite the TX/RX being TTL level, so that's no help.

I've captured a log of the communication between my 4th gen iPod Touch and the Memorex dock here: https://docs.google.com/file/d/0B_4zvBVFUl9LUXlJTnhsdl9Hckk/edit?usp=sharing

COM8 = Dock

COM7 = iPod

The |TRACE| lines are the raw bytes received. |DEBUG| is the commands that my tracing app has recognised. |INFO| are my annotations on what I've done at that point.

Edit: It does work with the dock, but the dock doesn't recognize anything is attached unless it gets +3.3v. I got my Raspberry Pi to provide that power, and now PodMode connects to the dock.
[Android Apps and Games] spadival:
The dock seems to use Display Remote Mode 03 (FF 55 05 03 0C 00 BC 03 2D), which isn't supported by PodMode (yet). So yes, it connects.. but are you able to control your S4 using the dock?
[Android Apps and Games] ckitching:
Yes, I can control it. Skip fwd, skip back and play/pause all work. It doesn't get the playback status on the display, and obviously the clock radio can't sync its time with the phone, but that's about it.
[Android Apps and Games] spadival:
Woo Hoo.. Great news.. I'll have to work on playback status. Time sync works on my dock.. I think I have implemented only that one command in Display Remote Mode.. so it is probably not crossing the point beyond playback status on your dock.
[Android Apps and Games] ast11:
First off, thanks for making this, it's exactly what I have been looking for. However I cannot get it to work.

I made the adapter but podmode only says "connecting..." when I use it with my samsung note 10.1. I'm trying to use this in my car and also on an iHome radio.

If i use my htc one, connecting the adapter gives me an error saying this accessory is not supported and to disconnect it
[Android Apps and Games] beankid:
This is fantastic! I am going to try and put this together and get it working on my Nexus One as it would be a great replacement instead of spending 200+ on an iPod classic. One question though, wouldn't it be better to eliminate the USB OTG cable all together and mod a USB mini connection at the end of the cable to plug directly into the phone?
[Android Apps and Games] CountParadox:
Submitting Interest
[Android Apps and Games] bunnybash:
X2
[Android Apps and Games] moreadon:
x 3
[Android Apps and Games] Leeone:
If there is sufficient interest, I may commercialise the hardware and sell it to people who can't DIY.

:good: Please
[Android Apps and Games] LuigiBull23:
very impressive!!
[Android Apps and Games] kirashi:
Nice job at re-purposing that commonly found 30-pin connector, especially now that Apple has changed over to the enLightening one missing many features that 30-pin could provide.

I have one silly question for you: What USB OTG Y-Cable do you (or anyone else that sees this) recommend?

I've got an HTC Sensation and an unpowered USB-OTG cable, which doesn't work as my phone won't provide power.
[Android Apps and Games] dtraini7:
Also submitting interest! That would be really great.
[Android Apps and Games] ~iPod~nano~:
The RXD and TXD still 5volts right?

if yes, then I can use the Arduino Uno built-in serial to USB too?

Arduino USB to serial, is confirmed work for me, I've done communicating from android to Arduino Uno using that built-in serial...

I want to build that, but where can i find that female 30 pin plug....

*sorry for my bad english*
[Android Apps and Games] Unb0rn:
I wonder if Rx and Tx level should be 3.3 or 5V too?! I want to use an FT232RL so I need to know where should VCCIO be(at USB VCC Level or at 3V3OUT?)
[Android Apps and Games] Mr_Coffee:
I would definitely interested in buying a completed unit.
[Android Apps and Games] millerd79:
+100
[Android Apps and Games] beankid:
I would as well! I don't quite have all of the tools needed to make my own cable. If anyone is willing to make a few cables, there is definitely interest here if you want to make a few extra $$.
[Android Apps and Games] stephenjr2000:
nexus

whats up with support

for the Nexus 4
[Android Apps and Games] Jfree3000:
Def interested in this project. Shut up and take all my money!!!!
[Android Apps and Games] Koonce:
In the meantime, how about some practical information on the items.

How are you making sure the 30pin extension cable has at least 16 cords inside?

I see some labeled as "dock extenders" but many still look pitifully made, as off-brand apple accessories from china tend to be.

And does it matter if the PL2303HX is a legitimate Prolific piece?

Reports of many bootleg ones being sold online.

Anyone found a better choice then ebay?
[Android Apps and Games] lotherius:
Maybe you should do a Kickstarter project to make the cables?

Or would there be some Apple patent violation issue in commercializing them?
[Android Apps and Games] spadival:
Thanks for the interest. I have already initiated some prep work to get this manufactured in India. But it is slow going as I have a day job and weekend commute between 2 cities - Melbourne and Sydney !! I am not much of a hardware guy, so there is a dependency to get this organised.

Nah.. I think the signalling is 3.3v. Also the user space driver (FTDriver.class) embedded in my app supports only FTDI and Prolific USB-to-Serial converters. I can possibly modify it to support Arduino, (provided I get an Apache licensed driver source code). But using Arduino is bit of an overkill when you can get cheap as chips FTDI and Prolific USB-to-Serial converters.

The ones I have bought off ebay have specifically listed 16-19 cords in the description. Like this one http://www.ebay.com.au/itm/Black-16...lePhoneAccessories&hash=item1c22e5a7f0&_uhb=1

I don't think it really matters. I have used some really cheap and nasty Chinese sourced Nokia cables as a source for the PL2303HX chip.

AFAIK, Nexus 4 does not support OTG. So no hope there. I am working on FT311D usb-to-serial support (I have the demo board http://apple.clickandbuild.com/cnb/...ategoryID=175&title=FT311D+Development+Module) which eliminates the need for OTG. But I suspect it is some time away.
[Android Apps and Games] beankid:
A few different cables I found where listed as including the cables for video playback and "more than just data, sync, and charge cables."

On a side note I remember seeing a post about possibly using audio over OTG but wasn't really sure where this ended?

:good::cowboy:As a means of getting these guys made, I would be willing to gather a few supplies and get a few made if there is interest in the mean time. A kickstarter project would be a great idea. I'd offer you any help that I can provide. I'd love to see this take off. How can we double check to make sure there aren't any copyright violations here with reverse engineering the apple 30pin connector?
[Android Apps and Games] spadival:
Re kickstarter. Money is not the issue here. Time is!!

I am not aware of any copyright violations. There is already a commercial product in the US which uses the 30 pin dock connector http://www.cablejive.com/products/samDock.html, but this cable does not support playback control of the phone or docks/car audio that use Advanced Remote mode.
[Android Apps and Games] spadival:
I made my own OTG Y-Cable :)..

Guys, I have tried to answer all of the questions asked and have edited last couple of my posts to include these answers in one single post. Let me know if I have missed anything.
[Android Apps and Games] flipside101:
Theres interest here for this as well, on a side note the Kickstarter idea could be use to raise money to be used to refine the design and outsource the work and give yourself teh time back. Though if you do go into semi mass production you might attract unwanted attention. I know there is a similar cable avilable but does it have the software side as well or doe it purely channel an audio signal out through the dock.

Ta
[Android Apps and Games] spadival:
Not really interested in kickstarter at the moment. I am already in the process of outsourcing the design... these things take time.. one way or the other. It would have been faster if I had the time to learn PCB design :)

Can I get the details of the the dock and the car you are trying to connect to?

1. Have you tried pressing the Play button on your dock and see if there is any reaction?

2. Have you tried lower connection speed of 19200 baud on PodMode>>Settings ?
[Android Apps and Games] jmelan:
Looks great! Thx!

I have a car adapter for my old iphone (USA SPEC: PA15-TOY) that has a aux input that I have been using for my s3 and s4, but would definitely rather go back to control with the stereo and steering wheel.

I guess there is probably no way to pull the line out audio from the usb while sending the control information (dock mode line out audio in USB host mode)?

I have the cablejive samdock cable - normally it puts the s3/s4 into car dock mode and charges it but does not pass line out audio through with my particular car adapter. I am using car home ultra and the headphone jack to send audio to the aux input on my car adapter.

As you mentioned earlier in the thread, the samdock cable does not work - likely since it uses dock mode (not USB host mode) to grab the line out audio it can likely not also pass USB data?

Would definitely be interested in purchasing an adapter!!!