this post was submitted on 10 Oct 2024
86 points (98.9% liked)

Linux

48245 readers
495 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

It's a breadboard with an extender for a Raspberry Pi's pins flipped upside down, a Raspberry Pi Pico, jumper wires, and a clip that came with a CH341A that suffers from the issue of being 5V.

The issue I think would be length of the wires.

Any thoughts? I'd consider soldering something together but I don't have a soldering iron that would be great for something so small and I'm working with what I have on hand.

I also have a Raspberry Pi 4 and the CH341A that has the voltage issue if anyone has a better idea that might work.

top 25 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 month ago
[–] [email protected] 3 points 1 month ago* (last edited 1 month ago)

Yap, should work fine. Just make sure to not skip reading the flash(es) 2-3 times followed by comparing the hashes of the dumps. If pico-serprog doesn't work, you can try pico-dirtyjtag (slow AF but gets the job done) or (in case your thinkpad is xx30) maybe 1vyrain

[–] [email protected] 4 points 1 month ago

There's a CH34A fix. I had a lot of problems with the cables that come with the CH34A.

In any case you should always refer to this.

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago)

I havent used a pico before but i have flashed a t440p with skulls(precompiled libreboot) i originally bought a pamona clip knockoff and flasher. But then made a lemmy post, and lots of people recommend using a raspberry pi, so i got a pi4 and in the event you brick it, you can backup the original bios before flashing. It was a bit finicky even with the pi but eventually got it to work!

[–] [email protected] 6 points 1 month ago

Take care of a good power supply to the Pi and to that flasher device.

From my experience, it often fails if you simply use power from USB. Then I connect a real power supply directly to the small device and it all works.

[–] [email protected] 7 points 1 month ago (1 children)

You should check whether Pi Pico is supported by flashrom.

If it's supported, then you can flash. At the end of the day, your BIOS doesn't care how it get in there.

[–] [email protected] 2 points 1 month ago (2 children)

Could errors during the flashing process be dangerous though or would it just mean trying again until it works?

[–] [email protected] 5 points 1 month ago

You are flashing the chip directly so apart from inadvertent short circuits and such if it doesn't work you can just keep trying until it does.

As for wire length it all depends on how fast they clock the SPI bus when flashing. You'll probably be able to get away with 20cm or so without difficulty , I've driven SPI displays with that kind of wire length before.

[–] [email protected] 2 points 1 month ago

What kind of errors?

Have you read successfully at least? By that I mean getting consistent dump.

[–] [email protected] 2 points 1 month ago (1 children)

My thoughts are you should just try it. If the wire length is your biggest concern just try to minimize the distance between everything as much as possible. I assume the thinkpad can be positioned closer.

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago) (2 children)

I'm guessing it's either an issue with the latency or internal resistance of the wires (as someone else mentioned) so unless I'm cutting and splicing the wires I don't think that will matter

[–] [email protected] 1 points 1 month ago

A long wire is an antenna that will gather electromagnetic noise from the air and turn it into random signal on the line. Shorter wires will be less responsive and therefore less noisy, and you can also mitigate the problem by grounding everything properly. It's also possible that with the wires in that parallel ribbon, they may induce crosstalk on each other. If you want to be really careful, you could replace that big ribbon cable with an STP cable and ground the shielding jacket.

Also, a noisy/low quality power input to the Pi will produce noise in its circuits and ultimately the output. If you can, supply the power from something better than a wall wart.

[–] [email protected] 3 points 1 month ago

The length of the wire is actually more an issue of capacitance and interferences. But these issues are easily mitigated by reducing the spi speed

[–] [email protected] 0 points 1 month ago (2 children)

The Raspberry Pi Pico can't run Linux let alone Libreboot

[–] [email protected] 10 points 1 month ago (1 children)

Correct but it can be used to flash Libreboot on devices like the ThinkPad I mentioned in the title.

I'm asking if this configuration would be effective considering I've heard of people having issues with longer wires causing problems. Adding jumpers and a breadboard is just adding to that length.

[–] [email protected] 1 points 1 month ago

Is the wire length problem some sort of latency issue or a resistance issue?

[–] [email protected] 4 points 1 month ago (1 children)
[–] [email protected] 4 points 1 month ago (1 children)

I think they were under the impression I want to install Libreboot on the Raspberry Pi. Maybe they didn't get a good look at the photo or how it was cropped confused them

[–] [email protected] 2 points 1 month ago

Looking at your other comment made way more sense.

[–] [email protected] 9 points 1 month ago (1 children)

What exactly do you want to do and how?

[–] [email protected] 8 points 1 month ago (1 children)

I'd like to flash Libreboot on my Thinkpad T440P using the instructions from the Libreboot website

https://libreboot.org/docs/install/spi.html#raspberry-pi-pico

[–] [email protected] 2 points 1 month ago (1 children)

Then why don't you?

Just don't do this to your only main device

[–] [email protected] 7 points 1 month ago (1 children)

Because it can be very finicky and I don't know what the ramifications would be if the wire length did cause issues flashing the firmware.

I would follow the installation steps and make a backup and check that back up but I don't know how badly errors during the flashing process would effect the laptop.

Plenty of people also seem to use the CH341A unmodified without issue but I don't know if the 5V issue may cause problems in rare situations or if it's a complete gamble of whether or not it could brick your device. If it's only an issue if you do something like jostle the clip while it's doing something than it would be a lot easier for me to just go that route

[–] [email protected] 1 points 1 month ago (1 children)

Chances are it is fine. I don't believe the flasher goes terribly fast. Also isn't there some sort of checksumming? I've never owned one of these devices but they are pretty popular so chances are if there was a serious danger a quick search would show it

[–] [email protected] 1 points 1 month ago

+1 it'll be fine

You only need to worry about wire length and ringing when you're talking radio or modern CPU or graphics cards speeds. Anything pi related will be fine