Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2011 Nissan Murano "Reading file..." #11

Open
bbfelts opened this issue Sep 2, 2019 · 3 comments
Open

2011 Nissan Murano "Reading file..." #11

bbfelts opened this issue Sep 2, 2019 · 3 comments

Comments

@bbfelts
Copy link

bbfelts commented Sep 2, 2019

The Murano finally recognizes my Pi Zero as an iPod so it tries to connect, but it stays at "Reading file..." and never goes any farther. I suspect it's doing some kind of iPod verification - all the other devices I've tried that emulate an iPod interface have failed (WMA2000 is an example).

I should note that all Apple iPod/iPhones I've tried work fine with this interface.

Below is the debug output from the ipod program:

[pi@raspberrypi:~/bin $ sudo ./ipod -d serve -w /tmp/ipod.trace /dev/iap0
INFO[0000.007158] device opened path=/dev/iap0
WARN[0000.008815] writing trace path=/tmp/ipod.trace
INFO[0047.761798] << FRAME len=24
([]uint8) (len=24 cap=64) {
00000000 55 0e 00 13 00 00 04 19 00 00 00 06 00 00 02 00 |U...............|
00000010 ba 00 00 00 00 00 00 00 |........|
}
INFO[0047.785752] << PACKET len=14
([]uint8) (len=14 cap=15) {
00000000 00 13 00 00 04 19 00 00 00 06 00 00 02 00 |..............|
}
INFO[0047.803311] << CMD id=0x00,0x13 trx= type=*general.IdentifyDeviceLingoes
(*ipod.Command)(0x180e760)({
ID: (ipod.LingoCmdID) 0x00,0x13,
Transaction: (*ipod.Transaction)(),
Payload: (*general.IdentifyDeviceLingoes)(0x1816cd0)({
Lingos: (uint32) 1049,
Options: (uint32) 6,
DeviceID: (uint32) 512
})
})
INFO[0047.871903] >> CMD id=0x00,0x02 trx= type=*general.ACK
(*ipod.Command)(0x180e7b0)({
ID: (ipod.LingoCmdID) 0x00,0x02,
Transaction: (*ipod.Transaction)(),
Payload: (*general.ACK)(0x1816e72)({
Status: (general.ACKStatus) 0,
CmdID: (uint8) 19
})
})
INFO[0047.909048] >> PACKET len=4
([]uint8) (len=4 cap=64) {
00000000 00 02 00 13 |....|
}
INFO[0047.925376] >> FRAME len=7
([]uint8) (len=7 cap=1024) {
00000000 55 04 00 02 00 13 e7 |U......|
}

@bbfelts
Copy link
Author

bbfelts commented Sep 2, 2019

Our other car (2011 Nissan Rogue w/Navigation) hangs in the same spot, but the head unit doesn't even switch to the iPod screen.

Debug info:

INFO[0377.151010] << FRAME len=24
([]uint8) (len=24 cap=64) {
00000000 55 0e 00 13 00 00 04 11 00 00 00 02 00 00 02 00 |U...............|
00000010 c6 00 00 00 00 00 00 00 |........|
}
INFO[0377.152131] << PACKET len=14
([]uint8) (len=14 cap=15) {
00000000 00 13 00 00 04 11 00 00 00 02 00 00 02 00 |..............|
}
INFO[0377.153142] << CMD id=0x00,0x13 trx= type=*general.IdentifyDeviceLingoes
(*ipod.Command)(0x200e970)({
ID: (ipod.LingoCmdID) 0x00,0x13,
Transaction: (*ipod.Transaction)(),
Payload: (*general.IdentifyDeviceLingoes)(0x20171b0)({
Lingos: (uint32) 1041,
Options: (uint32) 2,
DeviceID: (uint32) 512
})
})
INFO[0377.155843] >> CMD id=0x00,0x02 trx= type=*general.ACK
(*ipod.Command)(0x200e9c0)({
ID: (ipod.LingoCmdID) 0x00,0x02,
Transaction: (*ipod.Transaction)(),
Payload: (*general.ACK)(0x2017332)({
Status: (general.ACKStatus) 0,
CmdID: (uint8) 19
})
})
INFO[0377.158233] >> PACKET len=4
([]uint8) (len=4 cap=64) {
00000000 00 02 00 13 |....|
}
INFO[0377.180734] >> FRAME len=7
([]uint8) (len=7 cap=1024) {
00000000 55 04 00 02 00 13 e7 |U......|
}

@oandrew
Copy link
Owner

oandrew commented Sep 4, 2019

@bbfelts
Try this (branch feat/identify-req-auth)
oandrew/ipod@8db6314

@bbfelts
Copy link
Author

bbfelts commented Sep 4, 2019

Same results...unless I did something wrong:

INFO[0000.022037] device opened path=/dev/iap0
WARN[0000.023674] writing trace path=/tmp/ipod.trace
INFO[0135.064757] << FRAME len=24
([]uint8) (len=24 cap=64) {
00000000 55 0e 00 13 00 00 04 19 00 00 00 06 00 00 02 00 |U...............|
00000010 ba 00 00 00 00 00 00 00 |........|
}
INFO[0135.128743] << PACKET len=14
([]uint8) (len=14 cap=15) {
00000000 00 13 00 00 04 19 00 00 00 06 00 00 02 00 |..............|
}
INFO[0135.146676] << CMD id=0x00,0x13 trx= type=*general.IdentifyDeviceLingoes
(*ipod.Command)(0x240e760)({
ID: (ipod.LingoCmdID) 0x00,0x13,
Transaction: (*ipod.Transaction)(),
Payload: (*general.IdentifyDeviceLingoes)(0x2416cc0)({
Lingos: (uint32) 1049,
Options: (uint32) 6,
DeviceID: (uint32) 512
})
})
INFO[0135.219571] >> CMD id=0x00,0x02 trx= type=*general.ACK
(*ipod.Command)(0x240e7b0)({
ID: (ipod.LingoCmdID) 0x00,0x02,
Transaction: (*ipod.Transaction)(),
Payload: (*general.ACK)(0x2416e62)({
Status: (general.ACKStatus) 0,
CmdID: (uint8) 19
})
})
INFO[0135.263807] >> PACKET len=4
([]uint8) (len=4 cap=64) {
00000000 00 02 00 13 |....|
}
INFO[0135.289935] >> FRAME len=7
([]uint8) (len=7 cap=1024) {
00000000 55 04 00 02 00 13 e7 |U......|
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants