Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
Posted on 24-12-26, 02:01 in Feature-tuning JMicron USB-SATA chipsets (aka "no more 4Ke") (revision 1)
Dinosaur

Post: #1321 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
So this is a feature that has been bugging me for AGES with those cheapo SATA to USB bridges: in a effort to cater to the XP crowd, well over a decade ago many bridges found a clever way to bypass the 2TB limitation of MBR: pretend the drive uses 4K sectors! (And this was the early era of AF drives, which also nicely maps to the inner layout of the platters themselves). This comes with the neat advantage of letting you use MBR-partitioned drives up to 16TiB (because one LBA is now one 4K "physical" sector, and the 32-bit limit from MBR means that ~4 billion LBAs * 4096 bytes = 16TiB). Cheap hack that eventually would become a scourge as XP faded into irrelevancy, and instead would bring pain for those regularly relying on USB to SATA enclosures and adapters to juggle with HDDs around:

- A drive formatted/partitioned on a "4K" bridge cannot be read on a bridge not enforcing this translation, nor on an actual native SATA port on a PC, and viceversa (either the OS fails to find a vaild partition table, or the partition table extends beyond the native drive capacity leading to mount errors). No, GPT partitioning won't save you from this.
- This also makes those "translation-enforcing" bridges unsuitable for cloning disk drives, or any kind of emergency data rescue procedure!
- The enforcing of 4K sectors is very inconsistent across bridges, and even among bridges based on the same chip - you may get bridges that enforce 4K sectors only on AF drives, on all drives, or on drives up or past some size threshold (say, 2TiB).

JMicron bridgechips fall into this category of data mangling, and sadly they have been wildly popular, dirt cheap, and readily available everywhere in the last decade (and then some). Another common feature of those bridges is an optional EEPROM chip used to store firmware and adapter settings, including the dreaded 4K emulation that can actually be turned on and off, but sadly neither JMicron nor the myriad of Chinese OEMs building enclosures using their bridgechips offer any kind of tool (not even a VSC!) to let users control this undesirable feature. In fact those bridgechips are kinda infamous for this and other reasons, but in practice the fact we have a firmware chip means things CAN be improved!

I have several JMicron adapters with this problem:
- A bunch of SATA/PATA-to-USB combo JM20337 adapters - almost but ONE (a Vantec-branded kit) enforce 4K on AF drives, but only up to 2TiB. So far I haven't researched on a solution for those, but the fact the Vantec adapter always do 512b sectors is encouraging.
- This cheapo Chinesium USB3-to-SATA dongle I managed to buy last year for $9 (I do not like adapters that bring their own proprietary PSU, or worse, 5V-only bus powered). This one is powered by a JMS576 USB3.1 to SATA bridge... or is it? (keep reading!). And of course it enforces 4K emulation on ANYTHING with AF! For this one, after some research, and taking a risk of bricking things, I found a solution~

JMicron chipsets store two things on those EEPROMs - in my case a "Puya" EEPROM, actual capacity may be 64K or 128K but only 49.5K are used on most JMS57x bridgechips:
- Firmware code: 49K
- "EEPROM" settings: 512 bytes <= this is the part we need to hack!

First things first - let's dump our firmware+EEPROM! For this you can pick between the internal JMicron firmware updater for the 2033x series (which also supports the JMS57x series), or this independently made firmware dumper by that Soviet dude that made the tools that can identify your SSD chipset+NAND. Yes, I'm linking to a .ru website - you may be violating one embargo or ten, but who cares when Soviets have the key to all of our lost files? :D And you do need Windows for all this, sorry (I've seen dumpers and flashers for the JMS57x series under Linux, but they're DANGER MINES alpha quality at best so I refrained from even looking at them). I've used my last surviving W7 install for this, but anything later will work fine, and I suspect that even good ol' XP should do the trick too. Be careful - there are reports of certain USB3 chipset drivers *cough*ASMedia*cough* that can interfere with the process! Only use stock MS USB drivers, which means Windows 10 or a USB2 port for older Windows versions.

Before starting, make sure to plug the converter to your PC with a drive attached to, otherwise the bridgechip will NOT enumerate to the OS! Any drive will do, and the flashing procedure won't touch your data at all... but if you don't feel safe, just use any ol' scrap drive you have there.

To dump firmware using Vadim's JMicron tool:
1) Fire up an Administrator console.
2) cd into the directory where you have extracted the tool, then call it
3) Follow the instructions on screen:
C:\temp\jmhax\jms_fw_reader-0.11a>jms_fw_reader.exe
JMicron USB bridge firmware and nvram reader v0.11a by Ochkin Vadim
OS: 6.1 build 7601 Service Pack 1
0: (KINGSTON SA400S37480G
1: ANKEJE USB3.0
Please select drive number:1
Drive : 1(USB)
Ctrl/Fw version : jm579_AE_01_00_01
Fw size: 50176
Fw+nvram saved to jm579_AE_01_00_01.bin

Press any key to exit

4) Make another dump just to be safe, compare both - if they match and aren't a blob of zeroes or random garbage, you're set.


To dump firmware using the JMicron's firmware updater tool:
1) Download the tool - any version should do but I ended using 1.19.17.6.
2) Extract it somewhere and run it - it requires admin privileges so let it elevate.
3) Tick the "RD Version" checkbox - this will enable some extra options on the flasher tool
4) Go tick the "Backup Old Firmware Only" checkbox (this will disable the "Firmware File" line on the dialog - THIS IS NORMAL. Instead, use the Backup File box to specify the path and filename for your backup file.
5) Hit "Run". This will dump your firmware, which will take less than one second.
6) To be safe, specifiy another filename and dump it again - compare both dumps - if they match and aren't a blob of zeroes or random garbage, you're set. You can now close the firmware updater.


At this point you will have noticed two things:
- Your dump will be exactly 50688 bytes, that is, a 49K firmware and your 512 byte EEPROM config.
- The dump identifies itself as a JMicron JMS579 (!), and the JMicron flasher identifies the chip as a JMS577/8 (!!!). Yep, turns out that there are many, MANY mislabeled chips out there, which means my actual chip is _not_ a JMS576 but a 577/8/9 - this is good news since the magical flag for turning off this 4K madness IS documented for those chipsets. If your firmware dump is ~65K or any size but 50688 bytes, STOP - you do not have a 57x but most likely a 58x-series.


Now that we know that this $9 Chinesium dongle is not what it pretends to be, the course of action is to figure out where is the magical bit we have to tamper with, and on the 577/8/9 some dude not only reversed that, but even made a neato webapp for generating premodded firmware. But we are not going to use that. Instead I'm going to use a known good firmware supplied by Odroid for the JMS578 that also supports TRIM and fixes some other minor annoyances - you can use whatever firmware you wish, even the one you dumped from your own enclosure/dongle/adapter, but the key here is that we are NOT using a JMS576, but you want 579-compatible firmware which is thankfully easy to find online if you know what to search for.

If we read that firmware mod tool code, we will quickly learn where are some of the magical EEPROM flags we can toggle on those bridges. I'm gonna mention relative EEPROM offsets - the EEPROM starts at offset 0xC400 on your firmware dump!

- Offset 0xE7:
+ Bit 7: set = enables USB Mass Storage (you want this!)
+ Bit 6: set = enables UASP (you also want this!)
+ Bit 5: set = enables 4K emulation (you do NOT want this!!!!!!)
+ Bits 4-0: unknown, leave them as-is (in my original firmware dump they were set to 00111)

- Offset 0xF2:
+ Bit 3: set = enables drive sleep timeout (you may want to disable this)
+ All other bits: unknown, leave them as is (in my original firmware the bitmask was set to 0x78, others set it to 0x38)

- Offset 0xF6: high byte of sleep timeout (in seconds)
- Offset 0xF7: low byte of sleep timeout (in seconds)
Example: 30 minutes = 1800 seconds = 0x0708 => 0xF6 = 0x07, 0xF7 = 0x08
By default those bridges set a 10-minute (600 second) sleep timeout, which many systems dislike. Disable it, or set it to your needs.

You can also edit your USB VID/PIDs and vendor strings here, if you want to walk that extra customization mile.

Use your favorite hexeditor to do your mods ON A COPY OF THE FIRMWARE YOU ARE GOING TO FLASH. Notice that there are NO CHECKSUMS enforced on the EEPROM, so be EXTREMELY CAREFUL and don't edit any other offsets, and preserve any undocumented bits already (un)set on the offsets you're editing! Save your mods, and now it's time to flash~!


To flash your new firmware+EEPROM:
1) Again, ensure your converter is attached to both your PC and to a working disk drive.
2) Run the JMicron firmware updater.
3) Pick your modded firmware file. Do not touch any other checkbox. There is no need to wipe the flash before flashing, so don't bother enabling RD Version this time.
4) Hit "Run". The flash process will take ~2 seconds, so you won't have time to wet your undies.
5) If everything went well, the flasher will tell you to "powercycle" your drive. Just unplug and replug the converter to the USB port of your PC. If it gets detected, congratulations, you've successfully hacked your JMicron JMS57x EEPROM~!

Now enjoy your 512-byte sectors:
UAS: new and shiny:
[54360.461673] scsi host4: uas
[54360.472159] scsi 4:0:0:0: Direct-Access JMicron Generic 0414 PQ: 0 ANSI: 6
[54360.474998] sd 4:0:0:0: Attached scsi generic sg2 type 0
[54360.487863] sd 4:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.64 TiB)
[54360.487873] sd 4:0:0:0: [sdb] 4096-byte physical blocks

USB Mass Storage: old and busted, but the only thing that works everywhere:
[54383.985474] scsi host7: usb-storage 4-1:1.0
[54385.001840] scsi 7:0:0:0: Direct-Access JMicron Generic 0414 PQ: 0 ANSI: 6
[54385.002618] sd 7:0:0:0: Attached scsi generic sg3 type 0
[54385.003245] sd 7:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[54385.018337] sd 7:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.64 TiB)
[54385.018345] sd 7:0:0:0: [sdb] 4096-byte physical blocks


A minor quirk: the Odroid firmware I'm using here will ALWAYS report that your drive has 4K physical sectors, even for non-AF drives. This is a cosmetic flaw, nothing else.


---
After some quick research, there is nothing that can be done regarding 4K emulation on JM20337, a 20 year old bridgechip still in production (and probably one of the last PATA controllers still available for sale brand new in 2024!):

- There is a datasheet available - not that great but it DOES tell that the chip CAN accept an optional 9346 EEPROM (that is, 128 BYTES), whose intended use is to store USB descriptors (including device name strings), and the EEPROM layout is well detailed on the last page of the datasheet (all 128 bytes of it!). There are 18 reserved bytes, but nowhere near enough room for a full firmware image.

- The JMicron flasher/manufacturing tools for all their USB-to-(P|S)ATA bridgechips ARE called "JM2033x $TOOLNAME", even those that actually don't support the JM20337. But it's all moot anyway, as the firmware update tool can't dump anything from those bridgechips, just 64KB blobs of 0xFFs (and some late versions don't even detect the JM20337 anymore!)

- Vlad's tool can't do anything with those chips either - it will dump an empty 512 byte EEPROM and that's it.

- What it's weird is that the 4K behavior DOES change on some adapters: I have 3 in total powered by the JM20337 - two generic "VCOM" adapters I bought over a decade ago (those enforce 4K emulation only with AF drives <= 2TiB), and a Vantec CB-ISATAU2 bought in 2014 with VERY BRIGHT BLUE/WHITE LEDs that do no emulation at all with any drive! So I suspect that this behavior may be baked into the silicon itself, and several variants of the JM20337 may exist.

- The JM20337 had a rather bad reputation in its early days due to data corruption issues because of an oversight related to the implementation on the SATA Hotplug feature (removing one resistor would fix the problem but also break SATA hotplug). FWIW, my adapters were made way after that era, none of then ever experienced any kind of hardware corruption (at least nothing related to the adapter itself - dodgy SATA cables are another issue!), and SATA hotplug works fine. Either JMicron suggested another reference design to OEMs, or they patched the flaw on a later silicon revision, which would also explain the inconsistent 4K emulation on those things.

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Dinosaur

Post: #1322 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Some more findings:

- The JM2033x series seems to be the common ancestor for JMicron SATA to USB bridgechips. The EEPROM/NVRAM format is surprisingly similar on later chips, although by then JMicron extended the NVRAM space from 128 to 512 bytes, and actually started using the reserved bytes for configuration.

- Speaking of this NVRAM, at least on the JMS57x series the second half of the 512 bytes not only seems to be unused, it's the same weird garbage across every single firmware dump I've found online (also including the dump I made from my very own adapter), bit per bit. Either they are not using this on generic firmware releases, or it's something else - I'm tempted to blank that area and reflash but I should instead buy other JMS57x-based adapters before wearing down my only sample (the EEPROM is rated for 100k P/E cycles, but I'm not gonna test that as I only own ONE... and of the variety that it's unobtanium in this country!).

- Of course if you're a device integrator that can get the relevant documentation from JMicron, you can roll out your own custom firmware - WD does exactly that with their USB HDD hackjobs using the JMS578 (like bridges being complicit on the on-the-fly encryption that renders your data unreadable the day you break that USB port). Those are 8051-based, not ARM.

- TRIM works wonders once flashing those things with a suitable firmware - the Odroid's "Hardkernel" release is a popular choice for that. Best $9 ever :P

- Customizing those USB device strings is easy - just remember to adjust the string length (it's 2 bytes before the actual string), and terminate them with zeroes. I totally approve of this message:
[140161.144591] usb 4-1.1: new SuperSpeed USB device number 6 using xhci_hcd
[140161.165694] usb 4-1.1: New USB device found, idVendor=152d, idProduct=0578, bcdDevice=31.02
[140161.165705] usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[140161.165710] usb 4-1.1: Product: JMS578 SATA-USB3 Dongle
[140161.165713] usb 4-1.1: Manufacturer: Chinesium(tm)
[140161.165716] usb 4-1.1: SerialNumber: 20241226-TSDXv03
[140161.167541] scsi host2: uas
[140161.168098] scsi 2:0:0:0: Direct-Access JMS578 S ATA2USB 3102 PQ: 0 ANSI: 6
[140161.171176] sd 2:0:0:0: Attached scsi generic sg0 type 0
[140161.171685] sd 2:0:0:0: [sda] 1000215216 512-byte logical blocks: (512 GB/477 GiB)
[140161.171691] sd 2:0:0:0: [sda] 4096-byte physical blocks
[140161.171866] sd 2:0:0:0: [sda] Write Protect is off
[140161.171869] sd 2:0:0:0: [sda] Mode Sense: 53 00 00 08
[140161.172193] sd 2:0:0:0: [sda] Disabling FUA
[140161.172196] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[140161.225036] sd 2:0:0:0: [sda] Preferred minimum I/O size 4096 bytes
[140161.225048] sd 2:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[140161.260877] sda: sda1
[140161.261112] sd 2:0:0:0: [sda] Attached SCSI disk


Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-01-01, 05:14 in Upcoming game announcements/news (revision 1)
Dinosaur

Post: #1323 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Recettear is getting the HD treatment, coming soon this year

- Widescreen
- New items
- Bugfixes

2025 just began, and gaming is saved again... assuming EGS can deliver (they're the doujin equivalent of development hell for those not in the know). Also I thought Carpe Fulgur was deader than dead, but since this remake is launching on Steam, I guess we can assume the official English localization is a given.

Now drop the ancient deprecated DirectMusic junk (which is the one feature that remains broken on Wine for this game), and this thing will sell Steam Decks like hotcakes walnut bread. CAPITALISM HO!

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-01-11, 04:06 in Games You Played Today REVENGEANCE
Dinosaur

Post: #1324 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Unuusally, I've been tinkering with my Steam library lately, to the point that, yes, I've been playing games I bought years ago.

Also, I finally got a chance to try Proton, since there is no way in hell I'm installing the about-to-die Win10, or its even worse successor, Windows eWaste AI Copilot 11, so that means I'll be relying on that from now on for the games that are not getting native ports, like, ever:

- Nekopara: HNNG DEM NEKOS~~~~ Sayori knows how to draw some fine catgirls with outrageously detailed outfits, and back a decade ago making the jump from filthy doujins to your Steam library was a mastermind move. OK, the games themselves are nothing special (especially those scenes where the cheesy sound effects and hilariously LONG and repetitive CGs kinda ruin the mood at times), but being able to bounce things at will, and (starting with Vol. 0/2) petting your cute catgirls at any time they appear on screen really enhance the experience. And you get your whole harem of cute catgirls (plus a horny imouto) on top of that!) The only downside: OP/ED videos failed to play under any Proton version I tried (including that GloriousEggroll one), most likely due to GStreamer shenanigans (these are Kirikiri titles, and normally you need gstreamer-libav plus gstreamer-plugins-ugly - stock Proton doesn't ship the latter, and GE-Proton does but fail to work anyway)

- Sonic Mania: Finally, the only modern Sonic game worth a damn :D And oh boy, this game is PURE SEX. - an audiovisual vintage orgasm from the very moment you run the game until you get that GAME OVER display. The visuals are a blast, the music is excellent, the controls are exactly as you would remember them from your ole' Genny/MD, the gimmicks are stupidly fun (like the bouncy pools on Chemical Plant Zone, or the fucking entirety of Studiopolis (so MUCH vintage Sega references there, and a throwback to the '90s era of analog NTSC video in general) which basically screams "SEGA, WHERE YOUR BRAINS WERE IN 1995!? THIS SHIT SHOULD HAVE BEEN A SATURN GAME!!! FUCK POLYGONS AND DON'T LISTEN TO THAT MORON OF BERNIE STOLAR!". Seriously, Mania would feel at home on a 32X at the very least. Stealth/Taxman and friends know how to make a Sonic game that actually tingles your bones. The only complaints I have so far? The bosses are cruel, and I hate Sonic 3' special stages. And of fucking course, the CPZ main boss is... Puyo Puyo, so git yer' beans gud or ol' Eggy will kick your ass. Thanks, my mind has been blown, then torched, then the remnants nuked and finally embargoed back to 1991 :D Proton experience is simply flawless, as expected.

- Long Live The Queen: Or as I would better call it, Princess Murder Simulator. Seriously, half of the plot of the game is to find unusual and cruel ways to get poor Elodie to die. The skills system is tied to our protagonist mood, which can be a real bitch at times since eventually you will find yourself stuck at some subjects that won't progress due to negative multipliers since may be too depressed, or to afraid, or too angry. And of course everybody wants to kill her. Lovely. This is a Ren'py game, and therefore has a native Linux version... that refuses to run on any new Debian setup because of SDL audio braindamage (but runs fine on this ancient Sandy Bridge laptop whose Debian setup has gone through five major releases, so I guess that accumulated historic cruft helps?). Workaround: set the custom launch parameters to "SDL_AUDIODRIVER=alsa %command%" and pray. Or run the game outside Steam - looks like it's a Steam Runtime-related issue, and those are always fun to debug.

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-01-12, 17:18 in Mozilla, *sigh*
Dinosaur

Post: #1325 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Terrible news from the SeaMonkey crew, as they just lost one of their few valuable longstanding contributors: WG9s passed away almost a week ago.

He provided the infra for hosting prerelease builds, so if you were using the alphas or betas, chances were it was his builds which were rock solid (to the point of being THE defacto official prereleases recommended for testing purposes by the team), so his loss leaves a big void in an already stretched-to-the-limit project :/ Now it's the time to contribute to SeaMonkey, more than ever, especially if you value a free web and a sane browser UI!

Rest in peace, Bill!

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-01-16, 20:03 in Upcoming game announcements/news
Dinosaur

Post: #1326 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Meet the Nintendo Switch 2

Release date: nobody knows, most likely H2 '25.

Can't wait until the Switch Next New U Series 360 MAX neo Pro Ultimate & Knuckles 2 gets hacked wide open, emulated, dumped, preserved, and loved tenderly all the night. But Nintendo understandingly has deployed extra hordes of ninjas ready to attack any attempt to violate the virginity of its latest precious device.

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-01-28, 23:08 in Mozilla, *sigh*
Dinosaur

Post: #1327 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Clownflare, PLEASE DIE IN A SEA OF FIRE. Choke on a dick, step on a Lego, etc.

Today Clownflare's browser integrity / captchas hit my balls a record number of times:

- Wine's AppDB switched to "paranoia" mode after some silly idiots attacking a mostly dead site. I had to try THIRTY TIMES until the goddamned Turnsickle™ let me pass, because obviously I am one of those enemies, amirite?

- Of course the stupid Turnsick™ will re-challenge you at unexpected times because your crime is using a Non Approved Web Browser by the Silly Con Valley Junta (official CF policy: if you're not using Chrome, Chredge, or maybe latest Firefux, you're persona non grata and subject to be embargoed from the Internet)

- For some reason, many shady websites (including piracy/porn outlets) are relying on Clownflare, because if there is something better than blocking innocent users whose only crime was Thinking Different™, is protecting obviously illegal activity (unless you're protecting bullies/murderers, and only if there is a strong enough social media shitstorm)

- Even if the site doesn't opt in to the Browser Integrity crapola, Turnstupid™ can be used as a ordinary captcha. This bite me BADLY today in a case involving Steam's arbitrary content policies, SJWs, Visa/MasterCard monopolies on payment cards, and... catgirls. Suffice to say, went to buy a DLC at Denpasoft, and Clownflare's half-working Turnshitte™ BLOCKED ME OUT FROM PAYING FOR STUFF!

- Clownflare Turnstile™ is known to exploit Chrome-specific behavior that it's designed to break on any web browser they don't like. But unfortunately other websites are starting to copycat Clownflare too: another example I met today is DDoS-Guard, with a similar (and even more broken) Browser Integrity dogshit. Oh, end users are not supposed to file complaints at CF's support channels because technically we're not their customers, just criminal scum instead having to complain at whatever website deployed them (where the answer will always be "use Chrome")

- To put the cherry at this shit icecream, Google started punishing me with hot Recaptcha hell today, maybe because they hate SeaMonkey, my CGNAT'd ISP, me, or all three.


Rememnber: it's now considered A CRIME to use the Internet without a Clownflare-approved web browser. IT'S FOR YOUR SAFETY, CITIZEN.
Can't wait until those twats go under, but given the current state of affairs at 'merica, I guess the abuse will only get worse from now on. And if you're a site operator using Clownflare services, FUCK YOU! Stop empowering the Internet's single biggest man-in-the-middle, with a power that the cadres at the CCP can only drool in their dreams about having it.

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-02-06, 01:54 in Mozilla, *sigh* (revision 2)
Dinosaur

Post: #1328 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Well, Clownflare's war against diversity in web browsers promptly escalated up: it's that time of the year when not only SeaMonkey but also Pale Moon and nearly every other non-mainstrean browser gets cockblocked. HARD. Now I no longer get any checkbox I can tick to tell them that indeed I'm still made of bones and flesh. Worse: many places of the Internet now consider my complaints about CF war on users "noise, annoying compliants, a YOU problem, WORKS FOR ME".

It has become so strongly irritating that a Pale Moon regular decided to invoke Silly Con Valley's customer service hotline: a Hackernews post: https://news.ycombinator.com/item?id=42953508
~200 comments so far (mostly noise praising Clownflare's services, people on Firefox/Chromium/Linux claiming endless page loops, a idiot spreading ye good ole "Pale Moon is an ancient unsafe Firefox fork" FUD, and another user saying that if you want to make a new web browser, it absolutely has to be a Chrome skin), but as of the time of this post, nobody from Clownflare is willing to take responsibility on this.

In the meanwhile, I'm effectively BANNED from half of the Internet, especially from those websites which have set CF to "I'm under attack" level. Congats Clownflare, you managed to do what not even the actual communist thug that leads my country have managed to do so far!

UPDATE: over 1000 votes, ~420 comments... and ZERO CF staff response. But on a thread from the same date (today) related to some Clownflare service down, the very first post is from CF's Clown Executive Officer telling their paid users that everything was peachy again, excusing himself for the downtime. Of course we Turnstile victims are not paid users (or even CF customers in first place!), so we don't deserve respect just because our web browser is not mainstream Chrome under Windows.

Browsers cockblocked so far:
- SeaMonkey
- Pale Moon (it even triggered a crash related with its WIP BigInt support, which got promptly fixed!)
- Qutebrowser
- Arc (never heard of this one, but apparently it has more users than SeaMonkey)

Users with addons, that self-build mainstream browsers, Chromium users, Linux users, those on some VPNs (including Apple's iCloud Relay), and even Firefox 115 ESR (STILL supported by Mozilla!) also have claimed increased harassment from Turnstile, including the endless loop issue, or failures after ticking that checkbox. Complaint threads at CF forums (powered by Dischorse Dicksores Discourse) also get promptly locked by paid CF shills. And of course the feedback form on Turnstile is wired to /dev/null.

This. Is. WAR.
Clownflare and their supporting users: TO HELL WITH YOU!

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Dinosaur

Post: #1329 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
While the freeze approaches Debian (and I wear my Cirno hat), let's cover another unrelated feature: getting visual novels (and other games) to properly playback videos under Wine/Proton.

I've been lately tinkering with Proton, since there is no way in hell I'm gonna install Agent Cortana Windows 10/11 (or any later version) on my metal for as long as I'm alive, and I have a moderately sizeable game library I would like to play someday. Proton is not just "Wine and a cut-down Steam for Windows client", it's evidently more than that:

- DXVK as its default DirectX 9+ implementation (instead of Wine's stock OpenGL implementation), for increased performance at the cost of compatiblity with older GPUs (Haswells need not to apply, for example)
- A bunch of bundled libraries so it won't even bother using your system libs (beyond Mesa)
- Per-game prefixes that can be nuked and repaved at will without losing game savedata (as long as the gamedev has explictly opted in into cloud saves and properly told Steam which files to sync/backup!)
- Per game switchable Wine/Proton versions, including the option of installing 3rd-party builds (the most popular one being GloriousEggroll's proton-ge-custom), so if a game works best with an ancient Wine version, you have the option
- And of course poorly documented switches, options and workarounds, and next to no error messages because this is 2025, where we Move Fast And Break Disintegrate Things.

Anyway, a pet peeve of mine and popular pain point on Wine after all these years have been games playing external video files. In the past this involved installing codec packs, media format runtimes, and even large parts of DirectX... and even with all that the experience would be unstable at best. But Wine has greatly improved there, and these days video playback is something that usually works out of the box, thanks to GStreamer. All you need is a clean prefix, and having a more or less complete GStreamer install in your system - for reference, these are the single most important packages in Debian for this use case:
gstreamer1.0-libav # interface to the ffmpeg-based A/V codecs - you absolutely need this!
gstreamer1.0-plugins-good # implementations of most popular formats/containers (MKV, MP4, AVI, etc)
gstreamer1.0-plugins-bad # implementations of some obscure stuff, but also the MPEG-2 containers
gstreamer1.0-plugins-ugly # implementations of "patent encumbered" crap, including the ASF/WMV demuxer!


Yes, you need all those even if the package descriptions sound redundant, or your VNs/games will have no videos under Wine. Some games will just skip the videos, others will hang/crash/abort, and depending on the game, your experience will range between "who cares, it was a boring OP movie" to "you mean School Days was supposed to be a interactive anime!?" If you don't buy your games at Steam, you're done, just use Wine from upstream repos, install those relevant GStreamer packages for your distro, and you're set. Don't forget the tissues~

Now, for those of us where Steam is our prefered marketplace (for better or worse, monopolies are bad but who can argue agaisnst good deals all year around and wide variety of titles?), it means you're forced to use Proton, and that's where things strongly deviate from the intended upstream/downstream way. You will notice that every Proton version (even the custom ones) are self-contained, they ship their own libraries, and notably, they will NOT use your system GStreamer install, but instead they ship their own. And this is where things get icky real fast when dealing with games and playback of media files:

- All Proton versions ship with GStreamer 1.0 base libs.
- Valve's stock Proton only ship with a small subset of plugins (basically the -good set, and not even complete, maybe due to patents BS since Valve is a USAian corporation), so if your game use WMVs, you're toast.
- GE Proton ships with a full set of plugins (-good/-bad/-ugly, plus libav), but for some reason WMV/ASF support is either disabled on Wine itself, or something else is broken, because WMVs will NOT play even with all the pieces being there.

The result? Broken games forcing workarounds from 10-20 years ago for problems that were already solved upstream long ago! Meet protontricks, a bastard extension to another tool I've always disliked, Winetricks. You will need them BOTH if you want to have a chance to enjoy your purchased games the way they were meant to be played™ (no, not with nGreedia GPUs!).

Here is example case: Nekopara Vol. 1, a game that due to $RAISINS I ended paying THRICE for: the uncut original release at DLSite, the all-ages release on Steam, and (eventually) the juicy bits (but still censored due to Japanese laws) R18 DLC for Steam:

How to play the non-Steam version:
- Install Wine, plus all relevant GStreamer plugins (this game needs plugins-ugly and libav for its WMV videos)
- Extract the game (it's a self-extracting RAR file)
- Run the game, enjoy ChocoVani shenanigans for a while, and eventually the OP movie will play.
(If the game just skips the move with a brief blackscreen, then your GStreamer install is incomplete!)

How to play the Steam version:
- Enable Steam Play support for all titles from Steam->Configuration->Compatiblity, restart Steam.
- Install game, no need to force a specific Proton version.
- Run the game at least once to let Proton/Wine initialize the game prefix dir, but don't actually play it yet.
- Make sure to have Protontricks and winetricks properly installed.
- You will need this script: https://github.com/b-fission/vn_winestuff/ - git clone that somewhere.
- Run Protontricks, select your game (the game ID for Nekopara Vol.1 is 333600), dismiss a bunch of "can't determine your wineprefix/WOW64 arch" warnings, and when Winetricks actually launches, ensure "Select the default wineprefix" is selected, confirm that, then select "Run a commandline shell (for debugging)". This will fire up your favorite terminal emulator at the prefix dir for your Steam game, configured to run using the Wine version from whatever Proton version is set for that game!
- Execute the following commands on that terminal:
# This forces the script to assume that our prefix is indeed for 64-bit Wine since it's on the new WOW64 format.
# Neglect to do this and the WM11 runtime installer will abort with a Windows version error since it's
# meant for Windows XP only!
export WINEARCH="win64"

# Run the script to install quartz and the WM11 runtimes - it uses bash-isms so don't use anything else but Bash!
# This will install wmfdist11-64.exe, which covers WOW64 architectures, and temporarily set your prefix Windows
# version to 64-bit XP to please the installer
bash /path/to/your/vn_winestuff/codec.sh quartz2 wmp11

# Restore the Windows version for this prefix, otherwise it will be left at "winxp64" and the game may not run
winecfg -v win10

- Close the console, then run your game from the Steam client, enjoy ChocoVani shenanigans for a while, and eventually the OP movie will play.

Notes:
- If you check the game entry at ProtonDB, you will notice that people suggest installing WMP11 with protontricks to enable videos. DON'T - Not only it will not work with recent Proton versions (the game will CRASH instead), it will also bring a bunch of irrelevant noise into your prefix (like unneded Windows dependnecies and a full install of WMP11 that is not even needed, we just want the WM format runtimes!), and it will also miss another required dependency (quartz)... hence the need for that alternate install script for those two dependencies.
- Tested with Proton stable (9.0-4), and with proton-ge-custom (9.24), which were the latest releases available at the moment of writing this.
- The same instructions will also work with volumes 2, 3 and 4 - just select the proper game on the Protontricks list, then follow the rest of the install steps.
- If you don't want to waste your time and have decided you can live without the OP/ED movies (you monster! How you can say no to KOTOKO/nao!?), then be aware that on volumes 1, 2 and 4 the engine (Kirikiri) will simply skip the videos when they fail to play. But Volume 3 was done on a completely different engine (CatSystem2), which will HANG instead! In that case, helpfully the engine itself came with an engine configuration dialog which allows to disable videos as a compatiblity option: on the main menubar (minimize and restore the window if you can't see the menus, another Proton glitch), Config->Engine Config, then on tab "Compatibility" check "Don't play movies", confirm and restart the game, otherwise you won't be able to start Chapter 1 as the OP movie is supposed to kick in early.
- Vol. 0 (unsure about Extra, I've yet to play it) do not have movies, it works as-is out of the box.
- Vol. 5 After? Bring it on, Shigure! Whenever it ships, I'm Ready™.


FWIW, most modern VNs with videos these days use WMV, from the Nekopara series to 0verflaw™ Days series, older titles may rely on MPEG video instead. The Recettear OP movie is also a WMV file - in fact, many modern indie/doujin Japanese titles will use WMVs for videos. Life is easier on native Wine, but if you're forced to buy from Steam, you now have a current weapon you can use to deal with this popular issue. Sadly, fixing video playback is not a priority for Valve (or any of the Proton downstream forks), so we have to endure with highly obsolete workarounds :/

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-02-11, 17:58 in Mozilla, *sigh*
Dinosaur

Post: #1330 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
We really need the Franpa Alerts™ back...

Read my post and the linked articles again: my problem is not getting the captchas over and over, but the captchas themselves REFUSING TO EVEN LOAD because Clownflare is employing browser fingerprinting tactics designed to break on anything that isn't Chrome, a Chrome clone, "latest Firefox", or Safari. THIS IS BY DESIGN, because Clownflare now feels that owns half of the Internet, and they dislike browser diversity, just like MS in the IE/NS era.

You cannot work around this with addons - it's effectively a hard block, a punishment tactic for not using an Approved Browser by the Clownflare Junta. No, I refuse to do that, might as well wipe Linux, reinstall Windows, make a Facetwittok account, and enjoy being part of the brainwashed masses.

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-02-13, 21:11 in Mozilla, *sigh*
Dinosaur

Post: #1331 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Day 13 of the Clownflare Siege...

The conflict has escalated. Big Time.

Not only Clownflare continues refusing to give an answer publicly, they have tightened their browser blocklist:

- SeaMonkey is now outright blocked with a "Your browser is out of date!" hard error.
- There are reports that Opera (for those that don't remember, it's now a Chrome reskin) is now getting blocked too.
- Poor Pale Moon / UXP users instead are being deliberately driven to madness, as Clownflare has decided to crash their browsers, first via a bug on their BigInt implementation, then now forcing the browser to crash after running out of memory. Death sentence, as decreed by the Clownflare Browser Junta.

If this is not a deliberate criminal act, I don't know how to call it. Sadly, given the current status of the USAian administration of doom, I don't see any likely legal challenge to Clownflare's de facto control over the web browser market. Too bad DDoSing the Internet's largest anti-DDoS provider is not feasible, because they deserve a fate MUCH worse than that...

If you use Clownflare services: STOP. Crippling the open Internet is not a worthy price to pay in exchange for some protection from the mafia.
If you work for Clownflare: I know you have no morals anyway as a fellow Silly Con Valley employee, but the world would appreciate a lot if you reconsidered your ethics and quit. No stock options is worth killing the open Internet, sorry.
If you work for the USDOJ: My condolencies :/

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-02-15, 02:28 in Games You Played Today REVENGEANCE
Dinosaur

Post: #1332 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Finally done with the main Nekopara series, the only title pending so far being that weird Android release with the catboys... which is already installed anyway. Also, seeing the CRIWARE logo on a cellphone game is... strange. Really, studios still pay for that ancestral middleware!?

Also, for whatever reason ended playing... this German VN. Due to its controversial content (which may be illegal in many countries around the world), I won't enter into details here, but I'll say the following:

- *chan-made VNs are always a treat.
- Yes, it helps knowing a bit about German politics before you dare playing this. Or have someone Germ give you a crash course on that.
- This game ruined Ursula von der Leyen for me, forever :D (But she deserves it)

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Dinosaur

Post: #1333 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
PSA: DO NOT install Wine 10.2 from the official WineHQ Debian/Ubuntu repos, the packages are BROKEN due to some WOW64 mode changes:
https://bugs.winehq.org/show_bug.cgi?id=57859

Apparently 10.2 introduces a new "dynamic" WOW64 mode, which requires packaging changes as now all related libs live at different places, but looks like the Debian packager at WineHQ missed testing stuff and now the packages that are shipping won't even run at all. Rollbacking to Wine 10.1 is safe (and you have to do it anyway).
The downstream Arch packages got it similarly wrong, but WineHQ also has a upstream repo for Arch with working packages.

Of course this is FOSS, nobody is willing to pitch in to afford some proper testing infra to prevent these mess-ups from ever happening in first place...

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-02-25, 15:13 in (Mis)adventures on Debian ((old)stable|testing|aghmyballs) (revision 1)
Dinosaur

Post: #1334 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Problem is not GCC, but the fact the packaging rules do not consider the changes done for the new "WOW64 dynamic mode", which now puts all the Wine libs under the same /lib/ dir (/lib64/ is gone) but now separated by architecture (i386/, amd64/), plus now a conflicting /bin/wine executable which should be host platform specific (there is no "wine64" anymore!).

The whole WOW64 mode changes caught more than one by surprise, and while these are the development/staging branches, I feel the stuff needed better documentation and a big fat warning to packagers to not just blindly use the old scripts/rules, but actually TEST things. Anyway, care to share your package build rules? (the /debian dir)

So far there has been some reasonable feedback on the Bugzilla entry, but the latest package updates are still broken (now due to the conflicting /bin/wine executable). Hell, I even got a question directly answered by a Wine Supremo :D

---
UPDATE: The emergency is over, it's safe to upgrade Wine again. Here is what it happened:

- Wine reordered a bunch of architecture-specific libs under their own arch-specific paths under $WINE_ROOT/lib/$ARCH/ - lib64 is gone. This to further simplify the new WOW64 mode that has been the default for new prefixes created as of Wine 8.ish.
- This also required changes to the binaries to specify where the libs live now, and as a side effect there is no "wine64" anymore: the actual $WINE_ROOT/bin/wine is now architecture specific, provided by wine-$BRANCH.
- Somehow some distro packagers (including WineHQ's voluntary Debian/Ubuntu maintainer) missed this bit, leading to incomplete packages and libraries at the wrong place - if you inovked Wine on 64-bit box, it would try to load 64-bit libraries first... only finding 32-bit libs instead, which were the wrong ones, leading Wine processes (wineboot et al) to an early death, and similarly, the creation of new prefixes was also broken because half the DLLs were not where the loader expected them! (the Arch folks also got their wires swapped but backwards: their 64-bit libs were at the right place, but not the 32-bit ones!)
- After some tries (which had the side effect of refreshing my Debian package build skills - spoilers: pbuilder is a blessing and a curse), the pieces finally fell at the right places. The packaging scripts are ripe for some good cleanup, but everything is now zen again~

If you're having troubles updating, unhold any package you may have held, uninstall all winehq packages, and reinstall Wine as usual.


---

In other more positive news, in a rare window of opportunity, Mesa 24 got released for Bookworm via Backports. And there was much rejoicing~ Don't forget to pick kernel 6.12 too. Mesa 25 also landed at Sid, which means Trixie has a good chance to ship that for release day, but beating the freeze timer will be tight. (Remember: you want both for the just launched RX9000/RDNA 4 cards - forget that noVideo ever existed since all these days they care are about AI silicon)

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Dinosaur

Post: #1335 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
VMWare is another walking corpse, Broadcom broke it to shreds ("You must be This Rich Enough to be able to buy our products, but don't expect world class support anymore") and I would not touch it ever again. Plus, it's still proprietary anyway.

Thankfully my x86 virtualization needs at home do not involve running recent Windows versions to run games, so I'm fine with QEMU/libvirt - it really needs to work more on the user-friendliness aspect (especially for virtual networking, that part is a mess!), but both Embargoed Orrible VBox and Broadcum'd VMWare do not exist to me.

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-03-04, 14:41 in Mozilla, *sigh*
Dinosaur

Post: #1336 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Day 32 of the Clownflare Siege: we're now making headlines... slowly!

https://www.theregister.com/2025/03/04/cloudflare_blocking_niche_browsers/

For those not in the loop, Liam Proven is a known user of alternative web browsers too (mostly Pale Moon). We SeaMonkey users also got a rare acknowledgment there!

We have asked Cloudflare to comment, and we'll update this story if it gets back to us.

Spoilers: Clownflare Browser Junta policy is the same as the Fight Club rules: "do not speak about the Browser Junta".

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-03-15, 13:12 in I have yet to have never seen it all.
Dinosaur

Post: #1337 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Posted by tomman
Milestone Danbooru posts:
#1: shimapan catgirl from a well known h-game series - May 23, 2005
#1M: hot Velma, anime style by a Canadian drawfag - September 20, 2011
#2M: some random shipgirl flashing some panties - May 1st, 2015
#3M: cute mandarin orange foxgirl (she DOES have her own Pixiv tag!) - January 27, 2018
#4M: Pool: Scenery Porn by some baka gaijin - today July 14th, 2020
#5M: some VTuber waifu with... bloody boobs - December 23th, 2021
#6M: a girl with a dinosaur cat and a octopus in a flooded... thing?! - January 20th, 2023
#7M: some girl from a random Chinese cellphone game... with a "do not use this for training your AI!" warning - December 19th, 2023
#8M: a cropped shot of some vtuber in a swimsuit - August 14th, 2024


And just today:

GET #9M: some magical girl boss from a long gone cellphone game - March 15, 2025
(Not Cirno? BOO!)

This year I came with pretty graphics to commemorate this milestone:

(I was off for 1 month or so this time, not bad!)
Onwards to the 10M post... later this year!

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-03-24, 00:59 in Feature-tuning JMicron USB-SATA chipsets (aka "no more 4Ke") (revision 2)
Dinosaur

Post: #1338 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
A few days ago I bought another cheapo USB3 to SATA adapter, this time a bus-powered cable meant for 2.5" drives.

After attaching a drive to it and connecting it to a PC, it worked... more or less. Drives would get recognized, but would start throwing weird read errors, and the Linux UAS driver would also log some even more weird failures. SMART support was also broken on this thing. The only thing that seemed to work more or less OK was TRIM, for whatever reason. lsusb identified this as a OWC SATA adapter (as per the USB VID/PIDs), but the kernel identified this thing as a JMS579! And after cracking it open (no screws! no glue! Just pull the sides of a plastic cover at the SATA connector end with your fingernails and the adapter PCB is free), indeed there was a legit JMS5798 made in 2023, and a companion Puya P25D09H 1Mbit (128KB) SPI flash IC.

You know where this history goes~ Reflash time!

Attach some scrap drive, run the JMicron flasher, dump the stock firmware (which surprisingly had the same version number as the one on my "JAGTRADE" dongle!), flash the same JMS578 Odroid/"Hardkernel" firmware I had flashed to my dongle, and that was it. I didn't even bothered rewriting the original 512b EEPROM data. Now this piece of junk actually works as intended, including TRIM, SMART, and UAS (where available). Soooo... next time you buy a SATA to USB converter and you have problems getting it to work stable enough, check if you have a JMicron chipset there, and REFLASH THAT SUCKER!

UPDATE: nope, no real improvement - the adapter ends stalling after some minor I/O, corrupting data in transit (which will pollute your HDD SMART logs with plenty of ICRC/ABRT errors!), and in general staying unresponsive. Turns out this happens because UAS is BROKEN on many of those JMicron chipsets, and that seems to be a silicon flaw, not fixable via firmware :/ (But not all hardware variants seem to be affected, huh...)
USB Mass Storage support works fine on those things, so you have three options to at least salvage the adapter:
1) USB quirks. Machine-specific configuration, not really feasible for using everywhere.
2) Broken xHCI controllers missing features required for UAS (like streams on some early ASM1042 chipsets), not feasible in the real world anymore.
3) EEPROM area mod: offset 0xE7 bit 6 off, which is the way to go.

It sucks, you lose TRIM and some performance, but on the other way, the adapter actually works stable.
Those JMicron bridgechips turned out to be a wild crazy lottery :/

Oh, the same trick can be used to debrand/unlock JMicron-based WD My Book enclosure boards, but on those it's slightly more tricky as you actually have to tamper with the SPI firmware chip (it's write-protected by default so a pin has to be lifted, and two other pins need to be shorted temporarily. Some 2.5" USB WDs also use the same chip... and a BGA SPI flash, so don't even bother :P (avoid buying "native" USB drives in first place!!!)

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-03-25, 15:41 in Feature-tuning JMicron USB-SATA chipsets (aka "no more 4Ke") (revision 1)
Dinosaur

Post: #1339 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
My latest JMS57x EEPROM layout notes, after comparing a dozen or so of firmware dumps, publicly available firmware updates, and my own dumps at home:
JMS576/7/8/9 EEPROM offsets:

0x00 - 0x01: USB VID (little endian)
0x02 - 0x03: USB PID (little endian)
0x08 - 0x09: USB BCD?
0x0A: 0x0A = use SCSI strings on 0xC8-0xDF, anything else = use ATA drive ID for SCSI vendor/product
0x0C - 0x2F: String Descriptor 1 - Manufacturer
(some firmware dumps may feature a bogus/empty string descriptor at 0x1B)
0x30 - 0x53: String Descriptor 2 - Product
0x54 - 0x77: String Descriptor 3 - Serial Number (descriptor size)
(0x54 set to 0 = use serial number from attached drive)

0x78 - 0xC7: 0

0xC8 - 0xCF: SCSI vendor
0xD0 - 0xDF: SCSI product name

0xE0 - 0xE1: "HD"
0xE2: 0
0xE3: generally 0 (0x14 on 01.02.01.04 Orico)
0xE4 - 0xE6: 0

0xE7: Features bitmap 1
bit 7: enable USB Mass Storage / BOT
bit 6: enable UASP
bit 5: enable 4Kn sector emulation ("Multisec")
bit 4: always unset
bit 3: always unset
bit 2: ???
bit 1: always set
bit 0: ???

0xE8 - 0xEF: 0
OxF0 - 0xF1: "BC"

0xF2: Features bitmap 2
bit 7: always unset
bit 6: ???
bit 5: always set
bit 4: ???
bit 3: enable powersave mode
bit 2: always unset
bit 1: always unset
bit 0: always unset

0xF3: Features bitmap 3???
bit 7: always set
bit 6: always set
bit 5: always unset
bit 4: always unset
bit 3: generally unset (00.04.01.04 Self-Power+ODD has this set)
bit 2: always unset
bit 1: always unset
bit 0: ???

0xF4 - 0x05: 0

0xF6 - 0xF7: Powersave timeout in seconds (big endian!)

0xF8 - 0xFD: 40 0F 32 05 00 00

0xFE - 0XFF: EEPROM Identifier ("JM")

0x100 - 0x1FF: Junk data? (same on ALL EEPROM dumps)
MD5: 34a237c125b376b075debfaa6fbff386
SHA1: 137b6a3313f6fdf8e3a179eadb86e17b5aaedc7d
CRC32: 095ca824


USB String Descriptor format:
+0: UNICODE String length ((ANSI length + 1) * 2)
+1: Descriptor type (0x03)
+2...+n: ANSI string


Pending tasks:
- Figure out the rest of the configuration bits
- See if that third Features byte does something, and if any of those seemingly unused bytes unlock anything else
- Some firmwares do not have compatiblity with ODDs, check if this is a firmware feature or a bit flag
- Check if JMS576 and JMS579 firmwares are fully crossflashable
- Figure what the hell does that 256 byte junk at the end of the EEPROM area - it's consistent on ALL the dumps I've checked so far

Oh, back to my UASP-broken cable, turns out TRIM DOES work over good ol' USB Mass Storage too! (if your adapter has suitable firmware) But Linux won't enable it by default (and it may not even enable it over UASP automagically too). You do need to manually enable it following those magical enchants: https://wiki.gentoo.org/wiki/Discard_over_USB

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Posted on 25-03-28, 16:08 in Mozilla, *sigh*
Dinosaur

Post: #1340 of 1342
Since: 10-30-18

Last post: 17 days
Last view: 4 days
Day 56 of the Clownflare Siege: Mixed progress, but not in the expected directions!

Background so far:
https://news.ycombinator.com/item?id=43376064 (may not open because HN is timing out with anything not in the frontpage nowadays)
https://forum.palemoon.org/viewtopic.php?f=3&t=32045&start=480
A Clownflare slave finally shows some face, extending a possibly poisoned olive branch: https://forum.palemoon.org/viewtopic.php?f=65&t=32190
Official Pale Moon status update thread: https://forum.palemoon.org/viewtopic.php?f=65&t=32127

Here are the facts:

About 2 weeks ago (after we made headlines on The Register, and many other sites started linking to it), a Clownflare slave finally dared extending a communication line towards Pale Moon, offering what they should have done SEVERAL YEARS AGO: negotiating a possible solution to stop excluding browsers not named "Chrome and friends". Unfortunately negotiations nearly went south when Clownflare hit Moonchild with a NDA (which he promptly called out on the media), and after more pressure, Clownflare backtracked (they claimed it was "the usual stuff from our lawyers, and might not even be needed at all", suuuuure).

Eventually, Pale Moon got explicitly whitelisted (but only on a temporary basis, subject to the Clownflare Browser Junta whims), and they got a laundry list of Chromeisms to implement to please their browser fingerprint dogvomit (including a bunch of CSP stuff, some of which Moonchild already shot down due to very sound reasons, like not helping security at all, or causing browser crashes). Clownflare also promised to offer a outreach program so other niche browsers can enroll and get a chance to be admitted at the select list of allowed browsers, but there is no timeline for this other than "shortly". Even with these changes, many Pale Moon users (mostly with non-standard configurations aimed at improving privacy) STILL get cockblocked by Turnsickle™, so the real progress on this has been between "minimal" and "fake".

As for SeaMonkey, the panorama is even more grim: the severe lack of manpower means the chances of a meeting between SM and CF are minimal, and even if they get the same laundry list, who is going to implement it? frg and friends have their hands really full with backporting some popular Chromeisms (no ETA so far, and with WG9s's death, they also lost some important infra too), and frankly they're also sick of the whole Clownflare crusade against us, so motivation is not exactly at its highest. Worse, Clownflare is exploiting some bugs that cause SeaMonkey to hang for a long time (but only after you force Turnsick™ to render by poking it with devtools' inspector due to some other bug), it's a script-triggered hang that hits some codepath that bypasses the "script hung" detector. Hang times seem to be hardware-dependant: my Ryzen 7 5700U "unhangs" after ~270 seconds, while an ancient Core 2 Duo T7200 stays forcedly burning coal for 20 MINUTES! (and by then your captcha has already expired). So for all purposes, Pale Moon got conditional parole, while SeaMonkey remains banned, and other niche browsers are basically on a similar situation.

You would say "hey, at least this time Cloudflare intends to do the Right Thing and actually work with browser devs!"... and I would retort at you with "don't believe in electoral promises, Clownflare's policy remains dead set on stone: it's stock Google Chrome or NOTHING".

Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
    Main » tomman » List of posts
    Yes, it's an ad.