Cannot reach the computer modules via usb
# │forum
p
i cannot access any node via USB to flash. I've done everything the docs say (https://help.turingpi.com/hc/en-us/articles/8687165986205-Install-OS). None of the nodes can be reached via USB via host-mode. I've tried several USB cables. Where could the problem be? I have CM4
d
Are you using USB A-to-A cable? USB A-to-C work rarely for this purpose
p
I have use both of them
d
Can you describe the whole process step by step with all the actions and commands? Let's try to find what might be wrong
p
Sure. I think it's the same Problem, like in the Chat actually. If I connect a monitor I saw the nvme error. To the process: I connect the USB cable to the USB port next to the hdmi port and then I start the rpiboot Programm with sudo ./rpiboot and after that I use the command tpi -u device -n 1 (I tried other nodes also). But it doesn't connect or find the node
d
You need to keep the node powered off, and power it on only after you set the device mode.
In other words you must first set the node into device mode then power on the node, otherwise the CM4 will try to boot instead of be ready for flashing
s
The docs say this the other way around, first power on ( or it states it assuming that it's powered on ) before running the tpi -u device -n 1 took me while also to figure that one out
p
just tried it. unfortunately it still doesn't work 😦
d
Make sure to try node other than Node 1
Also, the command is
sudo rpiboot -d .\msd
(assuming you
cd
-ed into the directory with rpiboot
p
-d .\msd dont work on mac
d
It does
What do you mean by "don't work"?
p
No 'bootcode' files found in '.msd'
Try it on Windows now
d
Did you
cd
to the folder where the
rpiboot
is installed?
p
Yes in the git repo
d
Did you type in
.msd
instead of
./msd
?
p
./msd working 😅
d
p
But don't connect 😦
d
What do you see?
p
Only "Waiting for BCM2835/6/7/2711..."
Tried node 2
# tpi -u status { "response": [{ "mode": 1, "node": 1 }] }
d
Without touching anything else, can you turn the node power off and on and see what happens?
p
With key1 or web?
d
Both will work for this purpose
p
Nothing happend. They turn on and off
d
On and off? Are you sure?
Not off and on?
p
You're right off and on 😅 . Sorry it's late here 😄
d
And it's still like this?
p
Yes
d
I'm not sure what are you doing wrong, then
Are these CM4s with eMMC?
p
i'm too 😅
Yes of course
d
Did you put anything into the Mini PCIe slots?
p
No, only battery, power and three nodes
d
Ok, let me try to put some step by step instruction: - put all node power off - set usb mode to device for node 2 - connect the USB A-to-A cable - run the rpiboot - turn the node power on The red LED should turn on next to the node, but no the green one on the other side of the node.
rpiboot
should pre-flash the module Also try other USB ports in your PC
p
I have try it. The Result is interesting. The Mac don't detect the device. Windows, says "device not recognized"
d
Have you tried different USB ports?
p
Yes
d
Did you try node 3?
Something's wrong and I'm unsure what
p
node 3 same issue. Tomorrow i receive a new USB-A to USB-A cable. Maybe the cable is broken
d
Ok! I ran out of ideas
p
I feel it
c
i have exactly the same issue as this
i tried same steps on a different windows machine and i see this when powering on the node:
g
I'm also having this issue. I've tried three different computers and two different cables. I'm completely out of ideas. In Windows Device Manager under Universal Serial Bus controllers it says
Unknown USB Device (Device Descriptor Request Failed)
.
I'm running BMC version
1.0.1
.
c
darn.. looks like this is broken. Same here, also on
1.0.1
g
Node 4 just worked for me!
n
I've had luck with slots 3 & 4 but not 1 & 2
a
Alright glad its not just me
g
Slot 4 has worked for writing to two of my CM4's. I wish I tried this slot earlier.
a
AHHH this is also part of my problem! This was not clear at all.
Yup, just got that one connected for me too
g
Curious why slot 1 and 2 weren't working.
m
Follow those instruction for CM4 with eMMC, I'm using both MacOs and Windows, and none of the 4 nodes work...
Flashing CM4 with waveshare IO board works...
s
I have 4x CM4 8/32 and Node 2,3,4 works for me (but first setting tpi -u device -n x and then powering on the module) 1 is being his unusual self of being stubborn. had to use a short USB-A to USB-C cable tho everything longer then 50cm gave no response on rpiboot.
m
Thanks, I'll look for short 50cm cable, and re-try 😅😅😅
s
And give it some time, it's experimental hardware it needs some tlc ;), Boot TPi2 board but make sure all nodes are off from BMC. (tpi -p off) Then setup rpiboot so that it's listening, wait a minute or so then on the BMC shell do "tpi -u device -n X" (where X is the node# 1,2,3,4) and use the API to turn on the matching specific node (keep the rest off). The rpiboot listener you setup should respond within max 20 secs (slowest i measured, usually it's within 5 secs). After flashing etc power off the node again wait a minute rinse and repeat.
d
We know that Node 1 can be problematic for flashing, but Node 2 was never a problem, really. Did you put any Mini PCIe card into the Mini PCIe slot?
USB A-to-C cable rarely works. The length does not really matter. Most llikely you'll need USB A-to-A cable
This is odd, because the rpiboot should react immediately, there's no need for delay and you can power up all of the nodes at once if you wish so
s
Yeah didn't find a root cause for it either, but switching fast between nodes ( and remember the need to be set in device mode before powering on so it has no use to power everything on since not everything can be in device mode at the same time ) gave me lots of problems so i decided on this approach which worked fine.
btw even if the BMC allows device mode on all nodes rpiboot doesn't support it to do 4 nodes at the same time 😉
d
You can only set a single node into the device mode - the one of your choice. What this does is routes the USB connection to this node and puts the node into the flashing mode
p
Now it works for me. I have use a USB-A to USB-C cable and my windows computer.
Thank you @DhanOS (Daniel Kukiela) for your help.
I had the same problem. The solution was a different cable.
g
No Mini PCIe cards. I did have a USB to UART adapter attached to the board that was causing issues as well, so maybe slot 2 will work now. I’ll test when I receive my last CM4 adapter board.
c
I will try slot 2 and 4 and a short A to C cable which I have. if that doesn’t work will try ordering a A to A cable
m
I used both USB A-A and USB A-C, none of those appear to work...
a
Yeah I think that's really the best solution, outside of netbooting lol
For me seems like only node 4 is flashable
m
Just wonder is it related to usb cable, all my cables are USB 3.0, not 2.0... 😅
a
Hmm maybe. But for me, node 3 kept erroring, but node 4 seems to work
Though I do get an error about storage at the end ¯\_(ツ)_/¯
m
Are you flashing by internet or pre-download image?
a
Via the Rasperry Pi Imager
m
sure, but did you pre-download the image or just simply chose the os the Imager will download and flash over internet?
I have to pre-download the image and flash using the custom option, the flashing over internet always has problem at the very end 😅
a
Oh sorry didn't understand your terminology
I chose the image the downloaded
If this next one fails, I'll try downloading it myself
d
Mine is also 3.0
Did you power teh node off, set USB mode to device and THEN power the node on? Did you try multiple USB ports? What's the command with rpiboot you used (does it include the msd poart)?
m
Yup, I tried all of these. I will re-try it tonight.
a
This is so frustrating
I've given up, will try flash drive and then cloning, and then later do netboot
d
What's your current problem? I know you wrote it somewhere above, but so many people are asking about flashing currently
a
Bunch of problems. Sometimes can't mount eMMC, sometimes it says mounted but doesn't show up, sometimes it images but doesn't boot.
Have yet to have a successful flash
Been using Node 4 slot
(Seems like a lot of people are having problems - sorry to bug you!)
d
And I'm not sure why do you have so many issues. I have 2 boards and only experienced issues in Node 1
a
Yeah I don't know why either
c
I got it working finally. The key was a short USB A-C cable.. I used one that was about 5-6 inches long. Anything longer failed. With that, I also found the following: 1) Single CM4 node in slot 1 failed. Saw Loading: .\mid/boot oder.bin, sending boot code.bin, failed to write correct length, returned 0 2) Moved single node into slot 4. Nothing worked at all 3) Put another CM4 in slot one and kept one in slot 4. Attempted to flash to slot 4. This finally worked. Although on first power up, after boot was sent, opened disk amanagement and it hung. Powered off slot 4 and back on, leaving disk management open and second time it worked and I could flash. In order to flash the other node had to swap 1 and 4, repeated the process and it worked. Summary for me: 1) Use short cable 2) Flash in slot 4 3) ensure there is a module in slot 1 as well
d
Node 1 can indeed be problematic with flashing and you should use Node 2-4 if this is a case for you (and it is). I'm not sure, however, how keeping a module in Node 1 could change anything.
c
it did for me. Have you tried a single node in slot 4?
d
I probably tied all of the combinations already 🙂 I flashed my nodes countless times and tested things in various ways 🙂
a
Maybe it is my cable, because I get things like tihs
Copy code
$ sudo ./rpiboot
RPIBOOT: build-date Apr 12 2023 version 20221215~105525 21ba5119
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Sending bootcode.bin
Failed control transfer (-7,24)
Failed to write correct length, returned -7
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Sending bootcode.bin
Failed control transfer (-7,24)
Failed to write correct length, returned -7
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Sending bootcode.bin
Failed control transfer (-7,24)
Failed to write correct length, returned -7
(flash drive cloning didn't work either sigh)
m
why my usb-a-c cable work with the cm4 io board 😅? ... If the cable is not working with CM4, will it work with Jetson Nano?
d
This is indeed odd. Maybe different cable or USB port could help, but hard to guess
Can you elaborate?
m
I'll test with Jetson Nano tonight to see how it goes
a
I did indeed try a different port and now have had two successful flashes!
d
Great to hear!
b
I had trouble getting mine to work with an USB-A to USB-C cable. I was using a direct port on my Macbook (listed as USB 3.1). Eventually I put a USB 3.0 hub in between (my monitor actually) and then it worked. Might be worth trying if you're having issues.
d
Which hub did you use?
b
It was my LG 5K built-in usb-c hub
d
OK, can you say more about how it's being connected to your MAC and what ports does it expose? Did you connect it via USB-C and it exposes USB-A? or USB-C still?
b
The monitor is connected to my Macbook via Thunderbolt 3 (usb-c like connection), then it exposes a 3-port usb-c hub. So I was still using an USB-A to USB-C cable from the turingpi to the monitor's USB-C port.
My Mac's "System Information" utility says that my regular (direct) ports are on an USB 3.1 Bus, while the monitor's hub is on an USB 3.0 Bus. I don't know if that makes any difference.
d
Thank you! This might be important and help people in the future
m
My updates, only node 3 and 4 work for CM4. For Jetson Nano, Im too layzy to setup ubuntu to install sdk manager so I used the old man method, using the carrier board to set up headless. But now the Nano cannot connect to network (while it can with the carrier board) 😅
d
I'm trying to find out what do you mean. To flash a Nano, you need ubuntu 18.04.
m
I don't have Ubuntu, so I flash image to sdcard. I also want Nano run in headless mode, but the uart on tp2 did not work, so I have to use the nano dev board to config headless mode. When replug to tp2, there is no network, I can uart to the board. Will try to see how to reset and detect network.
d
OK, so 3 things
1. You don't need Ubuntu if you are using an SD card indeed - just flash the image using any tool you like
2. The UART work but is not the one you think it is - the default one is connected to BMC and you could use it through BMC
3. Which revision of Nano this is? A02 or B01?
--- As for the UART from BMC:
Copy code
microcom -s 115200 /dev/ttyS1
UARTs:
Copy code
Node 1: /dev/ttyS2
Node 2: /dev/ttyS1
Node 3: /dev/ttyS4
Node 4: /dev/ttyS5
m
I think there is no difference between A02 and B01, the differences are for the carrier board.
d
There is a difference. Nvidia has changed the pinouts
A02 is not compatible with Turing Pi 2
The only thing you get from A02 in Turing Pi 2 is UART
I have A02, by the way 🙂
m
I have 3 different Nano, mix-match of A02 and B01 but none seem to work when using sd card flash method
d
B01 should work fine. Make sure you know which one it is
m
I setup and work correctly on the carrier board, but when I replug to tp2, the network appear not working
d
This will be true for A02, B01 should work no problem
m
Is there any way to tell if your board is A02 or B01?
d
Yes, you can find that on the module in one of teh corners on the back
m
Right, I got 2 A02 and 1 B01
Voila, B01 works
😅
d
Sadly the other 2 won't 😦
m
Speechless 😅😅😅
u
Glad to see I'm not the only one having issues! I can occasionally get drives temporarily mounted in OSX but all writes fail. Absolutely no luck in Windows. Are folks having better experiences with Linux proper? I've tried 3 different A -> A cables and two A -> C with little change in behavior.
Has anyone come up with a consistently working methodology?
m
If writing fails towards the end of the writing, try writing custom image with the pre-downloaded images.
u
I have the best luck with a USB-A to USB-A cable connected via a USB 2.0 hub.
u
So its funny you mention the 2.0 hub, as I was just coming here to post about that.
A -> A -> powered USB 2.0 gets me flashing reliably. Albeit very slow.
eMMC disk transfer occurs in bursts of 5MB every 20-30 seconds but active time is 100%.
If I use an SD card will USB storage mode default to SD instead of eMMC?
d
If your CM4 has eMMC, you cannot use SD card, the traces are eitehr connected to the eMMC or SD card
Is this also for nodes other than node 1?
u
Yes.
But I was able to image node 1, it just took a few hours. 🙂
d
Node 1 can be problematic. Nodes 2-4 should work well for flashing
u
Using the USB 2.0 hub on a USB 2.0 port has resolved some of the usb mode issues i was experiencing.
b
I'm experiencing this on node 1, I thought I remember reading this, and I'm glad I found it again. Is this something that'll be fixed? or is it just a hardware flaw of some sort?
d
This seems to be hardware-related. I cannot think of any way to fixt it via a firmware upgrade, but I might also not know something.
b
it's only for flashing right? Everything else seems to work fine?
d
If you put a CM4 in Node 1 and will try to use the same USB_OTG port to connect a USB device (like, for example, keyboard/mouse receiver), you might also experience some issues since it's the same USB connection that serves both cases. I've heard some powered USB hubs can help (a few people mentioned this). And yes, this affect the USB connection to the back port only, nothing else
b
Mkay, that's not ideal, but it's not a showstopper
d
Yeah, you usually flash the node once and forget. You can try to flash it in node 1 still, for example with a USB hub, or move the module into another node. It's yet not known if this will also affect flashing from the BMC in the future (like in the future you'll be able to flash a module from the BMC's interface directly without any cables and this might work just ok)
b
Yeah I'm hoping the BMC flash mechanism will work great
d
I should, but I can see a challenge in flashing the Jetson modules this way. CM4s should be easy
b
Hopefully the rk1s will also be super easy to flash via BMC
d
I guess they should. Nvidia's modules are quite specific speaking of flashing
b
heh, just nvidia things
76 Views