ludwig-v / wireless-carplay-dongle-reverse-engineering

CPlay2Air / Carlinkit Wireless Apple CarPlay Dongle reverse engineering
GNU General Public License v3.0
691 stars 100 forks source link

CarPlay PC emulator #162

Open steph-35 opened 1 year ago

steph-35 commented 1 year ago

Hi,

Has anyone already tried to make this firmware work with the emulator of the carplay-receiver project: https://github.com/harrylepotter/carplay-receiver/

I tried several custom firmwares to try to make this emulator work but it doesn't seem compatible. When I connect the dongle to the PC, it recognizes it as an iphone (idVendor=05ac, idProduct=12a8) but the application is looking for a device with the ids: idVendor = 0x1314 , idProduct = 0x1520 I saw that it was the fakeiOdevice program that affected these id for the host but I don't see how to change them. I also saw that these ids were used in the start_accessory.sh script. So I executed the following lines:

echo 0 > /sys/class/android_usb_accessory/android0/enable sleeping 1

echo "Magic Communication Tec." > /sys/class/android_usb_accessory/android0/iManufacturer

echo "Auto Box" > /sys/class/android_usb_accessory/android0/iProduct

echo 1314 > /sys/class/android_usb_accessory/android0/idVendor echo 1520 > /sys/class/android_usb_accessory/android0/idProduct echo accessory > /sys/class/android_usb_accessory/android0/functions echo 1 > /sys/class/android_usb_accessory/android0/enable

But it doesn't seem to work. Is the application that runs on android wait for iphone's id, unlike this simulator on PC? What can I do to change these id on my device? Thanks in advance, Regards

k7000i commented 1 year ago

Are you tried the values found in start_iap2_ncm.sh?

echo 0 > /sys/class/android_usb/android0/enable echo 239 > /sys/class/android_usb/android0/bDeviceClass echo 2 > /sys/class/android_usb/android0/bDeviceSubClass echo 1 > /sys/class/android_usb/android0/bDeviceProtocol echo "Magic Communication Tec." > /sys/class/android_usb/android0/iManufacturer echo "Auto Box" > /sys/class/android_usb/android0/iProduct echo 08e4 > /sys/class/android_usb/android0/idVendor echo 01c0 > /sys/class/android_usb/android0/idProduct

echo accessory > /sys/class/android_usb/android0/functions

echo iap2,ncm > /sys/class/android_usb/android0/functions echo 1 > /sys/class/android_usb/android0/enable