[MTCD  Android Head Units Q&A] InTheWorks:
How do I extract the ROM image from Linux (specifically Ubuntu Mate 16.04)? Is there a guide anywhere? All I've seen are windows tools (rkDumper?) and I don't have a windows machine.

Also my unit is not bricked. I would like to be able to use adb over usb, to backup my ROM, and hopefully flash magisk patched boot.img. I'm also looking for a permanent solution accessible when the headunit is installed so the other method of pulling the SOM from the unit is not what I want to do. I have read that thread.

I have an Android 8 PX5 MTCE KLD unit (Pumpkin ND0279B-E02) and maybe this helps someone else. I was able to verify that pins 27,28 of the GL850G (U11) are connected to the back of the unit like the picture says. Also there is approximately 5V where Vusb should be. When I use the "adbon" command, power is removed from all the usb ports which got my hopes up, but in the end it didn't work.

It appears as though U27 (FSUSB42) is missing on my unit. Pins 25,26 of the GL850G go directly to ARM-DP and ARM-DM at the SOM header. Also, USB-DET doesn't change state when USB_PWR does indicating it's probably not wired to anything except a pull down. Measuring to ground I see around 33k.

So I soldered some wires onto the SOM header, specifically:

pin 5: ground

pin 9: 3.3V

pin 28: usb detect

pin 29: usb d-

pin30: usb d+

to a breakout board. I added a 10k resistor on a switch between 3.3V and usb detect (resulting in 2.47V). I hooked up the ground, D-, and D+ to the male end of a usb cable. This didn't work initially and I was seeing some contentious voltages on D+ before I even plugged it into the PC. Even though adbon removes the 5V supply from U11, it was still having an effect on D+ and possibly D- so I lifted pins 25,26 (and 27,28 as they were in the way) and the contention went away.

However, I couldn't get things to work until I used the following sequence after a fresh boot:

1. pull up on usb detect

2. connect usb cable to PC

3. enter adbon

After adbon, the device enumerated

[4224638.139836] usb 3-2: New USB device found, idVendor=2207, idProduct=0006
[4224638.139844] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[4224638.139848] usb 3-2: Product: px5
[4224638.139852] usb 3-2: Manufacturer: rockchip
[4224638.139855] usb 3-2: SerialNumber: VL65ZMG0YF

and adb worked:

~$ adb devices
List of devices attached
VL65ZMG0YF	device
~$ adb root
restarting adbd as root
~$ adb reboot fastboot

in fastboot mode, the device enumerated differently:

[4245869.313803] usb 3-2: New USB device found, idVendor=2207, idProduct=0006
[4245869.313811] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[4245869.313815] usb 3-2: Product: rk30xx
[4245869.313819] usb 3-2: Manufacturer: Rockchip
[4245869.313823] usb 3-2: SerialNumber: 0123456789
[4245869.314109] usb 3-2: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
[4245869.314130] usb 3-2: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes

The adb commands no longer work, but fastboot does (when used with -i 0x2207 and with sudo)

~$ sudo fastboot -i 0x2207 devices
0123456789	fastboot

It's also worth mentioning that adb and fastboot came with:

sudo apt-get install android-tools-adb android-tools-fastboot

But now I am stuck and could really use some help. I have spent weeks getting this far bit by bit, searching XDA and the web in general.