OKdo ROCK 3 Compute Module (CM3)
# │forum
p
I bought two Rock 3s from okdo.com I am going to attempt documenting my progress, if I am able to even boot the thing. Jeff Geerling made a video about it: https://github.com/geerlingguy/raspberry-pi-pcie-devices/issues/327
# Attempt 1: Rock3's RPi IO board process, usb a-c https://wiki.radxa.com/Rock3/CM/CM3 ## Following steps as if using Raspberry Pi IO Board https://wiki.radxa.com/Rock3/installusb-install-radxa-cm3-rpi-cm4-io 1. Install Radxa drivers, and RKDevTool (https://wiki.radxa.com/Rock3/install/rockchip-flash-tools), download CM3 bootloader (https://dl.radxa.com/rock3/images/loader/rock-3a/rk356x_spl_loader_ddr1056_v1.10.111.bin) 2. Connect CM3 board onto Node 1 slot, connect usb cable from Turing Pi Board to PC 3. in BMC, set USB to
Device
mode for Node 1 4. in BMC, Power off Node 1 5. Per radxa instructions. Hold down golden button (tiny button next to silver wifi chip), and keep holding 6. in BMC, Power on Node 1, make sure the red power LED is active on the turing pi board 7. After 5 seconds, release the golden button 8. open RKDevTool (NOTE: if the tool is in chinese, open the
config.ini
file and change
Selected=2
which is english) 9. RKDevTool should say
Found one MASK ROM DEVICE
** **Unfortunately for me, RKDevTool could not detect any device
d
Try to use other node than Node 1. On some boards Node 1 can be tricky to use for flashing
p
# Attempt 2: Rock3's RPi IO board process, Flashing with Raspberry Pi IO Board (WIP) https://wiki.radxa.com/Rock3/installusb-install-radxa-cm3-rpi-cm4-io I am waiting for my Raspberry Pi IO board to arrive
hmm, I will give this a try
Unfortunately, Node slot 2 doesnt work neither
d
- Turn off the node power - Set device mode on node 2 - Turn on the node power
Are you doing it this way?
p
yes
but i was holding down the button
I am not sure what is running on the stock rock3 boards, I was attempting to flash it with a new image
d
Are you using USB A-A cable?
p
I have a capture card device with a working usb A-C cable I am repurposing
d
USB A-C cables rarely work for people and it's not yet known why
p
that could be another reason why its not working for me as well
d
Also, if cable is too long, this might be causing issues too
p
I bought an RPi IO board pending delivery, but I will also look for a USB a-a cable
whats considered too long? I was thinking of getting a 6 foot cable
d
I'm curious to see the results.
I have about 5 feet long USB A-A cable and have issues flashing
In your case you cannot detect the devices, in my I see them but flashing fails
p
hmm
d
My cable is 5 feet long
p
okay, i will get the 3 foot one
d
I ordered like super short one to check (25 cm)
p
@DhanOS (Daniel Kukiela) I went on a little shopping trip. I bought a usb a-a cable (and nvme, and sd card)
unfortunately the cable was 6 feet long
hopefully it would work
Im going to reattempt slot 1
jk, it was a cable with smarts in it. wasnt the correct cable
u
low key curious to see how you get on, if we get booting with decent speed networking then I bet for a bunch of us we could get these instead of pi's given they're in stock
w
I think I heard/saw somewhere that networking works but PCIe doesn't?
d
c
Hey @provamer - how did you get on with this?
I got it working. I'll do a write-up
( it doesn't have external IO support, as is already known ) but does have networking
u
@colinriddell would you say it's worth investing purely for compute? I only plan on running k8s so.
c
Yeah, purely for compute it could be decent. Looks like Geerling hasn't reported the cpu bench result yet. Presumably someone has though. Will maybe run it if I have some time. I'm led to believe it's not as powerful as CM4. But they don't exist.
u
Yeah I can't really find much in the way of benchmarks, network and disk performance would be good to know too
c
agreed.
u
basically pits it against the CM3 I think?
t
@colinriddell Did you manage to get the CM3 flashed using the Turing Pi? I've also been fighting with these all weekend and could use a bone right about now! Seems no matter what I do I'm getting hardware-level USB protocol errors. Don't think it's my cable or setup as I have a Jetson TX2 that is identified correctly
c
Hey hey @talliifennec I didn't manage to flash it with Turing Pi, unfortunately. But I did get it flashed with the radxa cm3 IO board. So you'll need to get hold of that to flash the modules. I'll stick a write up somewhere soon but basically I: * Used the Radxa Cm3 IO board to flash an OS to eMMC using the Radxa instructions on their Cm3 IO board guide. ( https://wiki.radxa.com/Rock3/installusb-install-radxa-cm3-io ) * Checked that it booted on the Radxa IO board. It did and had network access. * stuck it into the Tp2 on a CM adaptor board + powered the node. * It booted up the node no problem at all. Found the IP and ssh'ed no problems at all. I was half expecting lots of issues and hacking about - but it was honestly as simple as that.
t
A quick update for those interested- I reviewed the Radxa CM3 IO schematics and the only difference I could tell in the (admittedly very brief) reverse engineering of the Turing Pi's OTG circuitry was that the CM3 IO makes use of a single pin (number 97) on the additional 3rd connector. That pin is the
USB_OTG0_VBUSDET
pin on the RK3566, which is used to detect whether the USB port should operate as a device or a host. Grounding this pin indicates to the RK3566 that it should operate in device mode. The CM3 IO board uses a 2.7k resistor to accomplish this, but I simply shorted the pin to ground (it is conveniently directly next to pin 99 on the connector, which is a GND), and the device is now showing up using the Turing CM4 Breakout board and Turing Pi with no additional lift. Gonna try flashing as I get time later today, will report back with results!
Got time quicker than I expected. Flashed successfully, took about 8 minutes, and device booted up and appears to be working. I will probably try and come up with a more elegant solution than "short the pins by soldering them together on the connector". FWIW My CM3 is a revision 1.3A.
c
Good idea so, this is flashing with TP2 rather than radxa IO?
Could make a jumper wire to bridge them?
t
Yes, this is just with the TP2 and the CM4 Adapter. I drafted and ordered a PCB on a flex substrate, I think that'll fit between the CM3 and the adapter. Something like so:
It'll take probably a week to get assembled and shipped, but if it works I'll open source the design.
p
Sorry for being MIA, I have been traveling and moving. I have not set up my turing pi in my new residence. But I will continue with it soon-ish. Thank you for sharing your progress.
u
Howdy folks. Any further info or documentation on this?
c
What you looking for @.quietdreams ?
6 Views