Wake up a Easylink (A-IVI) car multimedia system by CAN for using it on a table or to put it into a car or in my case an old camper without CAN bus with legacy signaling.
Your Easylink system needs power, you can buy a "Car multimedia connector" on aliexpress for example, you need the 20 PIN one. The system gets permanent power connection.
Dont worry it will consumpt less than 1mA during powered off state with no CAN bus activity. If the unit receive some frames power draw goes up to 50mA even the frames are not for the unit itself.
## CAN connection
The EXT-CAN which is used to control the Easylink is terminated in CAN gateway which is our ESP32, so you need to terminate your CAN bus at the transreceiver on the ESP side with 120Ohms and on the Easylink side with 120Ohms bedween CAN-low and CAN-high.
### Touchdisplay
Likely you will connect a touch display to it, it will use LVDS signaling over a HSD cable. You can buy one off Aliexpress or similar, use the Z Coding (universal can plug into all color coded sockets) so you dont need mess up with color codes to match the connectors.
The display will be controlled via M-CAN bus which is driven from the Easylink itself. So you need to connect CAN lines from the Easylink to the display and back, because CAN is terminated in the Easylink itself. Of course you can install termination resistors on the display itself.
You want to connect speakers to the system, these connections are located at the power plug. Pinout is below.
## Reversing camera connection
If you want to connect a reversing camera, you need a camera which supports differential CVBS signal, standard ones which has only single-ended (one connections is ground, the other is video, most has RCA plugs on it) CVBS output will not work. I will try to use a converter IC like AD8131, but this is untested at the moment.
## USB connection
If you want to use USB devices, just grab a USB mini cable and try to plug it into the black USB connector on the easylink, if it fits you can solder a USB-A socket to it and use your devices. If you use a USB hub, use a powered one to not overload USB circuit in the Easylink.
A USB mini to OTG cable will work too, but you must test if the connector fits into the socket or modify it.
# Programming with pyren, DDT4all, CLIP or something
You can program the Easylink with mentioned tools like in your car, just make another connection to the EXT-CAN (of course no termination on this point).
I have buied a OBD2 socket to breakout cable and connected some dunpont connectors to it, but you can buy a OBD2 Socket and connect it permanent to it, to use standard OBD2 dongles.
I unplugged my unit from my car and replaced it with a big screen one, so I left my vehicle / CAN bus configuration as is.
If your unit is from another car brand and the unit is not behaving as it should with these CAN messages in my program, set the vehicle configuratio to:
During my testing, reversing and so one I programmed a lot with pyren and bricked it from time to time, because not all DDT pages are well coded or I rebooted (key on off reset) too early so changes are not written correctly.
I highly recommend to back up your NOR flash first. It is easy and cheap! Buy a CH341A programmer and a SOIC clip on amazon, ebay or so. Diassembly of the Easylink is easy, remove the few screw from the case and push the top cover off, then remove the two screws holding the pcb on the lower plate.
Then connect the SOIC clip to the 8pin IC near the iMX6 SOC on the PCB back side. The red cable goes to the first pin which is marked with a little dot on the IC.
On the programmer software click autodetect IC, and read the contents of it, save it to a file and read it again and save it to another file, then use a compare program (ex. WinMerge) to ensure reading was successfull (both files are exact the same).
If you brick your easylink because of faulty or incompatible configuration and it will not boot any more (screen backlight goes on and off or unit shows press volume to reboot) you can it restore with your backup.
Connect the clip again and erase, write and verify the contents.
If you use a unit already installed in a car, anti theft protetion is enabled, which means the unit compare the entered VIN with the connected car. I found the can message which contains probably a part of the VIN so the unit will boot up. But I dont know how these message is calculated, because in the Easylink you just enter your VIN. (on locked units it is impossible to change or disable anti theft at least for now).
If the unit is from a car which ECUs is partly working (Easylink is starting up in that car it will removed) you can read the CAN message which contains the VIN. You need to connect a CAN sniffer, dongle or something to the V-CAN, M-CAN or EXT-CAN and note the contents of the CAN ID 0x69F.
Serial console is available at the debug connector near the CPU, with a socket attached it will be possible to access it with case mounted through a latch.
I will be able to stop boot process at uboot prompt but I cannot enter any commands. If the unit is booting in normal Linux with eMMC fastboot, you will not be able to see uboot console.
In normal Linux system there are no login or any shell accessible.
Is not easy possible at the moment. There is a SSH server active without password, but firewall protects it.
It is neccessary to modify content of the eMMC. You can modify firewall rules to access ssh via WiFi or spawn a console on serial console port with adding a tty via systemd on /dev/ttymcx3.
I dumped the whole eMMC from a locked ebay unit with desoldering it. I wrote down all PINs to the eMMC, so we can try to connect it without desoldering and risk to damage the PCB.