BlueSCSI v2 Pico - Low cost, open hardware, fast SCSI device!

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,695
1,455
113
53
Japan
youtube.com
Here's a screenshot from that Github page...

1729042048843.png


So just to clarify...

Even though it says "BlueSCSI-Pico2-58226df.uf2" firmware can be tested "on any version of BlueSCSI hardware," the performance improvements for Write Speed only occur when you have a Pico 2 board installed, correct?

In other words, most people with a BlueSCSI v2 will have either a Pico or PicoW. But to get the new Write speed improvements, you would need to remove the Pico or PicoW and solder in a Pico 2, correct?

If so, based on what I am reading here, there won't be a Pico2W until the end of 2024.
 

eric

Administrator
Staff member
Sep 2, 2021
987
1,624
93
MN
bluescsi.com
"on any version of BlueSCSI hardware,"
Any version of BlueSCSI hardware (with a Pico2 (which I thought was implied as it's a firmware for the Pico 2 ;) ))

you would need to remove the Pico or PicoW and solder in a Pico 2, correct?
Don't do that, everyone who I see try to remove a Pico destroys the board. Get a kit or build some of your own boards, put a socket on it.
 
  • Like
Reactions: JDW

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,695
1,455
113
53
Japan
youtube.com
Any version of BlueSCSI hardware (with a Pico2 (which I thought was implied as it's a firmware for the Pico 2 ;) ))
Don't do that, everyone who I see try to remove a Pico destroys the board. Get a kit or build some of your own boards, put a socket on it.
I know, but you know me. I love it when things are plainly stated on a grammar school level. That's really what my entire YouTube channel is about. Saying things in a more detailed yet plain way so even a true nincompoop like me can understand it! :)

Being the cheapest man alive, I did manage to remove my Pico boards and replace them with Pico W boards on the two BlueSCSI v2 hardware units that I have. They appear to be working fine. But I will admit that it took a lot of time and great care with Hakko FR-301 desoldering gun to achieve it. So advising others to just buy a new kit is probably best. I agree that you avoid both trouble and hassle that way.
 

Androda

TinkerDifferent Board Secretary 2023
Staff member
Sep 25, 2021
516
558
93
USA, Western
androda.work
If you do plan to replace the Pico with a Pico 2, my two cents is that you should not be desoldering from the bottom of the BlueSCSI PCB.

If your board has pin headers holding the Pico in place, then desolder the Pico from the top only. As Eric mentions, it's very easy to damage the BlueSCSI PCB when desoldering. The Pico's pad holes seem to be more robust and hold up better against a desoldering tool.
 
  • Like
Reactions: JDW

eric

Administrator
Staff member
Sep 2, 2021
987
1,624
93
MN
bluescsi.com
Another big new release this month - https://github.com/BlueSCSI/BlueSCSI-v2/releases/tag/v2024.10.26

What's Changed​


Another huge release for BlueSCSI v2! New profiles include NeXT and X68000-SCSI, and X68000-SASI. You can now cycle through folders of any type of removable SCSI device. Merged in the well tested Amiga drivers from beta.


Better info in logs and continued refinements to speed and resiliency of SD card access.


Oh and if you didn't see we have a stable Pico2 build if you'd like to try that out!


Plus, a whole lot more!


New​



Fixes​



Build and Docs​



Full Changelog: v2024.09.15...v2024.10.26


Need Help?​


Find us on Discord, TinkerDifferent, or Github Issues/Discussions.
 

eric

Administrator
Staff member
Sep 2, 2021
987
1,624
93
MN
bluescsi.com

This update is recommended for all users and should be the end of any odd SDIO timeouts or errors that were experienced by a small number of users. With the SDIO rewrite by @androda last release and the framework updates this release we have not seen any reports of issues.

Note even though we now support 4(+) Pico boards (Pico1/1w/2/2w/etc) - there is only 1 .uf2 file to flash - no need to wade through 18+ files to figure out the right one to flash, there's only one choice and it'll do the right thing(tm).

This update is recommended for all users and should be the end of any odd SDIO timeouts or errors. With the SDIO rewrite by @androda last release and the framework updates this release we have not seen any reports of issues.

How to flash​

A new BlueSCSI_Universal_<rel>.uf2 can be used on any Pico 1/1w, 2/2w. Updating Firmware for more details.

What's Changed​

  • Pico SDK 2 updates & SDIO timeout fixes by @erichelgeson in #209
  • Pico 2 & Pico 2-W Support with universal UF2 by @erichelgeson in #218
  • Reset watchdog while data transfer is progressing
    • Previously a long and slow SCSI transfer could exceed the 15 second timeout, resulting in early termination. @PetteriAimonen 5396143

Development​

  • GPIO Drive Strength Config for SDIO Pins by @androda in #206
    • This should only be changed if debugging an SDIO issue.
Full Changelog: v2024.10.26...v2024.12.08
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,695
1,455
113
53
Japan
youtube.com
@eric
In layman's terms, when would the cited "small number of users" of BlueSCSIv2 user experience the aforementioned "SDIO timeouts"? When using WIFI only? When performing specific tasks?
 

eric

Administrator
Staff member
Sep 2, 2021
987
1,624
93
MN
bluescsi.com
@eric
In layman's terms, when would the cited "small number of users" of BlueSCSIv2 user experience the aforementioned "SDIO timeouts"? When using WIFI only? When performing specific tasks?
You would see SDIO timeouts while using the BlueSCSI in the log file. Users would see extremely slow speed due to the timeouts. I think we had a total of 12 users report this (so very small) and took us a while to even narrow down as none of our (same model) computers would exhibit this behavior. Not a huge common factor but 8x00's and some Sun workstations were the main ones. Nothing to do with a specific task or wifi.

On the up side since @Androda completely re-wrote the SDIO communications layer it is a huge improvement over the previous one in terms of reliability.
 
  • Like
Reactions: JDW

Androda

TinkerDifferent Board Secretary 2023
Staff member
Sep 25, 2021
516
558
93
USA, Western
androda.work
since @Androda completely re-wrote the SDIO communications layer
With help from Greiman of course. He provided a generic RP2040 SDIO implementation which made a lot more sense than what was already in use. My main contribution was cutting down the number of PIO instructions it required and hooking it into the existing framework.
 

Nycturne

Tinkerer
Dec 18, 2024
44
27
18
There was some discussion in the BlueSCSI Web thread about SD card fragmentation, and I wanted to add to it without polluting the thread, so I am moving it here if that's okay.

I currently use an M4 Mac to setup my BlueSCSI cards, and while I have had a few stumbling blocks on the way, I have managed to reliably create SD cards that have no fragmentation of the disk images. Unfortunately, with modern filesystem tools basically accepting file fragmentation as a way of life, I haven't been able to do much inspection of the SD cards themselves to really dig in, but here's what I've run across.
  • There's the usual .DS_Store and Spotlight index updates during a copy that can be a problem.
  • Apple's increasingly aggressive Gatekeeper setup is adding extended attributes to files that previously did not include them, including those created by Disk Jockey. Copying a file with extended attributes will cause it to be fragmented as the extended attributes are written to a separate file in parallel.
  • Formatting with Disk Utility triggers macOS to create the .Spotlight-V100 folder before you can even disable indexing on the drive. Disabling Spotlight will not remove the multitude of files that wind up in this folder, and these files seem to do a good job of fragmenting the free space on the drive. The result is the first image for me usually winds up fragmented despite dealing with the above.
There is a flow that I use which is reliable and doesn't require using Windows/Linux to create the card:
  • Add the images I want into a single folder.
  • Open a terminal window and navigate to the folder.
  • First, create a "filler" file to fill in the fragmented free space: dd if=/dev/zero of=00Filler bs=1M count=128
  • Second, strip extended attributes: xattr -c *
  • Third, ensure Spotlight is disabled on the SD card if I just formatted it, and then delete any files on the card.
  • Finally, run rsync to mirror the folder to the SD Card: rsync --progress -av * /Volumes/<SDCARDNAME>
This folder also acts as my backup, so I'll rsync the other way from time to time. The filler file probably doesn't even need to be this big, but I haven't gone through and fine tuned what size works. I usually have more space than I need.

EDIT: rsync will strip out extended attributes, so should not need to use 'xattr -c' with it.
 
Last edited:
  • Like
Reactions: PL212 and JDW

eric

Administrator
Staff member
Sep 2, 2021
987
1,624
93
MN
bluescsi.com
Thanks for some details on what you do - I have an M3 Max MacBook Pro and what I do is updated in the wiki - https://github.com/BlueSCSI/BlueSCSI-v2/wiki/Image-File-Fragmentation#mac-os

You can simply `cp -X file.hda /Volumes/sdcard` which will avoid copying any extended attributes

Note that not all extended attributes are cleared via xattr -c - you have to do com.apple.provenance separately
ALSO note you MUST use Terminal.app (not a 3rd party terminal like iTerm (which i use)) as it can not remove com.apple.provenance!

I honestly don't know why Apple makes this so hard. If file is being copied to a FS that doesn't support xattr's - ignore em! (eg cp -X)
 
  • Like
Reactions: JDW and Nycturne

Nycturne

Tinkerer
Dec 18, 2024
44
27
18
You can simply `cp -X file.hda /Volumes/sdcard` which will avoid copying any extended attributes

Funny enough, rsync strips extended attributes (including quarantine) without any additional parameters in Terminal.app, which I just confirmed. This is what happens when I don't have a lot of time to truly grok what's going on. :)

Note that not all extended attributes are cleared via xattr -c - you have to do com.apple.provenance separately
ALSO note you MUST use Terminal.app (not a 3rd party terminal like iTerm (which i use)) as it can not remove com.apple.provenance!

I honestly don't know why Apple makes this so hard. If file is being copied to a FS that doesn't support xattr's - ignore em! (eg cp -X)

Apple does things for the sake of macOS behavior, and compatibility with other systems is secondary. Sadly, the lack of the quarantine attribute has special meaning, which is one reason Apple works to preserve these attributes and is getting more aggressive about setting them (provenance is related, which is why it's hard to remove). And the case of it creating fragmented files is mostly only an issue for specific use cases like these which aren't exactly common. It sucks, but I see little chance of change. Especially when the things that bite us the most are part of macOS' defenses against bad actors.

I would have been tempted to go with an SD card layout that enables the BlueSCSI to effectively have a contiguous block of addresses to put HDD images outside of the FAT partition and use the FAT partition for config/CDs/shared. But that means specialized tools to get those drive images on/off the card.
 
  • Like
Reactions: JDW

wottle

Active Tinkerer
Oct 30, 2021
596
332
63
47
Fort Mill, SC
@eric I was looking to order a batch of these from JLCPCB and I think I have it pretty well set up, but the LED and the JST connector at J6 are both out of stock. I found a replacement LED, but I could not find a replacement for the 6 connector. The question I have is what is it used for? I haven't seen anything in the documentation about its use and I'm wondering if I could get these ordered without it on the board. Worst case I could always add it later if needed (although it may be tight with a few of the components around it. Any advice would be greatly appreciated!
 
  • Like
Reactions: JDW

wottle

Active Tinkerer
Oct 30, 2021
596
332
63
47
Fort Mill, SC

Ah, so it a used to interface between the control Pico and the BlueSCSI. I may wait until they can have the part, then, as I think I’ll be trying to use that setup (I prefer opening my machines as little as possible due to the plastics).

There should be a bunch of common LED's (i'd hope) in the common parts at JLC - some discussion here https://github.com/BlueSCSI/BlueSCSI-v2/discussions/113

Also remember to order them in Blue :D (it really doesn't add 2 days as the UI says)

Yeah, I could find a replacement for the LED (although only in green), but I found you can pre-order parts, so I now have many more JST connectors and LEDs than I will use ordered. Hopefully in 10 days I'll have a complete BOM and can order my assembled PCBs. I didn't realize you could also order from other people's idle parts inventory. Unfortunately, no one had any idle inventory for the JST connectors.
 

alexADB

Tinkerer
Jun 22, 2023
64
30
18
Bavaria
To get rid of any .DS_Store on my SD Card I always use this.

Code:
# Navigate to the relevant Volume (replace the volume name)
cd /Volumes/SD

# Find any .DS_Store files (optional) within the folder
find ./ -name .DS_Store -print

# Delete any .DS_Store files within the folder
find ./ -name .DS_Store -delete
 
  • Like
Reactions: eric