JMB363 2 Port PCI-E SATA II 2.0 RAID & 1 IDE 3.5″ to PCI Express Adapter Converter Card Expresscard (WHL #67)
Time-incorrect retro computing time! We’ve had a lot of computer-related stuff recently, but this one is an elegant mix of old, niche and Wan Hung Lo. It’s perfect.
First of all, what is it? It’s a PCI Express 1.0 x1 card with (according to Wikipedia) the only native PCIe to PATA and SATA interface chip there is, a JMicron JMB363. The “confidential” three-page datasheet floats around on the interwebs if you want to take a look. PCIe 1.0, AHCI and IDE compatible, HotPlug, NCQ, UDMA6 = ATA133 (1 port, so 2 devices), SATA2 (3 Gb/s and 2 ports, so 2 devices as well), RAID 0/1/0+1/JBOD functionality.
What do I need it for? Well, I’m not handling old PATA drives on a daily basis, but occasionally I do. And when I do, converter chips usually suck. There’s PATA to USB and PATA to SATA, but both usually prevent you from accessing SMART data, firmware and other low level stuff. It works for data transfer and full disk access e.g. for partitioning, but that’s it. A native PATA host is always nice to have. And since PCI is basically dead, server boards such as my “new” X9SRA or the pretty old X7DBE testing mule aside, a PCIe based PATA host card might be the only way to do so in a couple of years. Mainstream boards with native PATA host chips are extinct as well (X7DBE again ftw, but it’s around 14 years old now…)
Okay, so that checks both the “old” and the “niche” box, but why Wan Hung Lo?
You see, I bought this on AliExpress, because of course I did. It cost me 7.04€ back in January 2021. These cards are somewhat available on the used parts market, but not terribly so, so I bought a “new” one.
For the sake of having the feature and ticking one additional box on the “USP” sheet, the manufacturer of the card decided to add eSATA ports. While those are supported by the JMB363 in theory (eSATA has some higher signal levels to allow for longer cables), the total number of two SATA ports does not change when adding two more physical ports. Our Chinese friends therefore decided to route the two differential signals of each port to a split 2.54mm jumper block “J2,3,4,5,6,7,8,9”, which lets the user decide if the SATA or eSATA port is connected to the chip. The routing can be seen above, they just run it close to the eSATA ports and then straight across the entire card, back to the internal ports.
1) eSATA also needs to be enabled in software which isn’t the case (or maybe they’re running internal ports as eSATA all the time?),
2) jumper blocks are an excellent way to create signal integrity and EMI problems,
3) they were too cheap for DIP switches once 2) is fully ignored,
4) they even missed adding one jumper and I only found out on the picture, since I only tested the PATA ports, and
5) the labelling of jumper position 3-4 is clearly wrong, as the traces from the chip are placed on center position 2 and it is either routed 2->1 or 2->3; there’s no 4th jumper position present
Next thing is soldering. Good fucking Lord. The single resistors and especially all the capacitors that were soldered automatically after running through the pick-and-place machine feature blackened leads/end caps, really tarnished. Similar to a layer of rust, except for the fact that it doesn’t scrape off and the flux should either have reduced that crap during the soldering process, or the parts should never have been wetted properly – yet the solder joints are perfectly fine. I have never seen such blackened parts before and I’m puzzled what has happened here.
Even worse however are the other parts. The ones that were hand-soldered for whatever reason. (price due to PnP reel count limitations?). Look at them. Butchered. Murdered. No one took pride in making it any more than a functional solder joint. Maybe they scream at night.
And then there’s reason number three.
They fucked up the layout. Maybe the board layout, maybe the bracket layout, I’d need the ATX clearance specs to check.
When testing the card for the first time on the X7DBE mule board, I was perplexed as I didn’t seem to be able to fit the card properly. Another first, but I felt really dumb not being able to seat a really short x1 card into the x8 sockets. Something was wrong.
For quick comparison, and to highlight the issue, let’s quickly introduce the following white PCB card named “Add On Card USB 3.0 PCI-E Type C Expansion Card PCI USB Controller PCI-E Express 3.0 Adapter USB to 3.1 Card PCI-E 5Port 1P H8J3” on AE (9.83€ plus minor amounts of shipping that was shared with other items from that seller):
It’s a fancy dual-controller USB3 addon card, same PCIe x1 form factor, offering 4 classic USB-A 3.0 ports on the bracket, one type-C port above, and a 19 pin (dual internal) header on the back. The first three A ports are fed by a Renesas µPD720201 chip and the others by a “VLI VL815”. Which is strange since VIA Labs, the guys with the x86 license, do offer USB3 chips under the VLI marking, such as the VL805. However, a VL815 cannot be found on their entire website, so this could be a fake chip altogether. Nevertheless, the original product description mentions the µPD and GL35XX as chipsets, so maybe the VLI is just a compatible part and they sourced the cheapest chip available that day in Shenzhen. The GL3520 comes to mind as it was used in the USB hub on WHL #58, however, USB hub and host chips are different. On the other hand, from the routing on the PCB I would assume that those are cascaded – the µPD is a four port chip but only feeds three ports, plus the entire rest of the card didn’t show up until the drivers from Renesas were installed.
Well anyway, that is a fully working card, and a nice one, too.
Let’s compare both cards, which is a breeze when just putting them in the same spot in my lightbox and taking a photo each. Both cards are aligned at the bracket – not quite since they are mounted slightly different, but enough to allow the comparison.
These fuckers are off by almost the entire length of the PCIe connector! No wonder the card wouldn’t sit properly in the slot when the bracket is already in final position. It’s either the card being mounted up too high on the bracket, or the PCIe fingers too short by more than half a centimeter. Both ways, the card cannot be mounted with the bracket in a standard computer chassis…
…if that isn’t an excellent Wan Hung Lo product, I don’t know what is.
One more thing: By default, the card is configured as RAID adapter. While that is part of the controller portfolio, at least for my unit/firmware, that comes with a big drawback for testing old HDDs: They need to be set up during boot, either as RAID device, or JBOD. Both ways, data is lost entirely when adding them. If one doesn’t, it will get recognized during boot, but won’t show up in the OS later.
There’s a fix for that which apparently also fixes AHCI mode for previous firmware versions:
Unfortunately that is in German, but “JMB363 firmware” should yield some search results. The firmware updater tool is called “36xupd” and I can confirm “jmb363_1.07.28.multi.bin” to be working. This comes, at least for my test install of Windows, with the price of an extreme delay during boot (post-POST, during the “Windows is loading” thing, so no detection delay). It takes around 2-3 minutes to boot if a hard disk is found. No delay if none is present or only optical drives are connected. Maybe this can be fixed with master/slave jumper settings on the disk side, an OS reinstall or other OSes, just wanted to add that this creates an odd delay in my specific case. There’s also apparently an untested (by the author!), patched 1.08 version available which I did not test at all. Both versions are said to have RAID functionality disabled, so it’s just a pure HBA that does what a PCIe to PATA expansion card probably should do in 2021+.