Running the Steinberg MIDEX 8 on Win11 22H2, I've got it sort of working.
-
- KVRist
- Topic Starter
- 220 posts since 11 Mar, 2003 from Stockholm/Sweden
Hi,
I gave this a shot on Win11 22H2 and it actually works using the latest 2011 driver found here: https://o.steinberg.net/index.php?id=915&L=1
However: it is very quirky. The MIDEX 8 is a two step beast, so first a firmware loader driver is supposed to soft-update the unit to the latest firmware, then the real driver activated. This part seems to get stuck.
The "best" work around I have found so far is to boot the machine with the MIDEX 8 plugged in, then choose to disable the firmware updater device in the device manager. When this is done, windows is waiting forever until you unplug the MIDEX 8. When you plug it back in, then re-enable the device. On my setup, the actual driver then loads and all MIDEX 8 ports appear and work in Reaper.
So, to me this seems like the driver isn't really incompatible, it's just some detail around switching from firmware loading to running the actual driver that fails on Win11. Does anyone have an idea how to fix this, or work around it in a less contrived way?
I gave this a shot on Win11 22H2 and it actually works using the latest 2011 driver found here: https://o.steinberg.net/index.php?id=915&L=1
However: it is very quirky. The MIDEX 8 is a two step beast, so first a firmware loader driver is supposed to soft-update the unit to the latest firmware, then the real driver activated. This part seems to get stuck.
The "best" work around I have found so far is to boot the machine with the MIDEX 8 plugged in, then choose to disable the firmware updater device in the device manager. When this is done, windows is waiting forever until you unplug the MIDEX 8. When you plug it back in, then re-enable the device. On my setup, the actual driver then loads and all MIDEX 8 ports appear and work in Reaper.
So, to me this seems like the driver isn't really incompatible, it's just some detail around switching from firmware loading to running the actual driver that fails on Win11. Does anyone have an idea how to fix this, or work around it in a less contrived way?
-
- KVRist
- Topic Starter
- 220 posts since 11 Mar, 2003 from Stockholm/Sweden
I think this would be possible to resolve 100% if I could just upgrade the unit to the latest firmware already at start up.
there are some pictures of the insides here: at oldschooldaw.com.
There is an 24LC64 EEPROM in there which must contain the code. That is only 8KiB though, not sure if the latest firmware will fit. The micro controller is an 8051 derivate (CY7C64613-128) and will support up to a 16KiB prom.
There is a dump of the firmware upload procedure here: https://github.com/ykcirtsyb/midex-pid-changer
No guarantee that putting exactly those contents into the prom will work though, but the load from EEPROM procedure is documented in the TRM for the micro controller.
there are some pictures of the insides here: at oldschooldaw.com.
There is an 24LC64 EEPROM in there which must contain the code. That is only 8KiB though, not sure if the latest firmware will fit. The micro controller is an 8051 derivate (CY7C64613-128) and will support up to a 16KiB prom.
There is a dump of the firmware upload procedure here: https://github.com/ykcirtsyb/midex-pid-changer
No guarantee that putting exactly those contents into the prom will work though, but the load from EEPROM procedure is documented in the TRM for the micro controller.
- KVRian
- 987 posts since 21 Aug, 2017 from Brasil
Hi,tlr wrote: ↑Sat Dec 02, 2023 4:52 pm Hi,
I gave this a shot on Win11 22H2 and it actually works using the latest 2011 driver found here: https://o.steinberg.net/index.php?id=915&L=1
However: it is very quirky. (...)
- First Create System Restore Point
https://www.elevenforum.com/t/create-sy ... s-11.3602/
- Disable Windows Hibernate/Fast Startup
https://www.elevenforum.com/t/enable-or ... s-11.1894/
- Disable Core Isolation/Memory Integrity in Windows 11/10.(Use the registry)
https://www.elevenforum.com/t/enable-or ... s-11.4942/
- Set the Windows Priority Separation to 26hex
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl]
"Win32PrioritySeparation"=dword:00000026
https://www.thewindowsclub.com/processo ... indows-7-8
- Set USB selective suspend setting = Disabled
Set PCI Express Link State power management = OFF
The above settings should make the MIDEX 8 driver and USB ports "happier".
I would also try some other tweaks...
- Disable Threaded DPCs
https://learn.microsoft.com/en-us/windo ... eaded-dpcs
Open Powershell as Admin. Copy/Paste/Enter the following:
reg add "HKLM\System\CurrentControlSet\Control\Session Manager\kernel" /v ThreadDpcEnable /t REG_DWORD /f /d 0
I suspect this will benefit the MIDEX 8 as Win 11 will behave like Win XP.
Here in my modern PC with no old drivers this tweak is good, but our mileage will always vary.
- For the internal drives, enable the "Turn off Windows write-cache buffer flushing on the device"
https://www.minitool.com/news/disk-write-caching.html
I always enable(many years) and never had any problem.
I did some crash tests to see the level of corruption and there was no problem either.
- Go to Settings>Personalization>Colors = Disable Transparency Effects
- Go to Settings>System>Multitasking = Disable Snap Windows
- Set the currently active power scheme to Processor performance time check interval = 5000
(Click in the image to download the Windows power plan settings explorer utility)
IF want the details, look at
https://youtu.be/n9xAG3nb9XQ
-
- KVRist
- Topic Starter
- 220 posts since 11 Mar, 2003 from Stockholm/Sweden
That's a long list of things to configure. Do I understand correctly that you got your Midex 8 running under win11 using this?
- KVRian
- 987 posts since 21 Aug, 2017 from Brasil
I do not have the Midex 8, but older/exotic hardware/driver usually works
better(less quirks) if you disable Windows Hibernate/Fast Startup and Core
Isolation/Memory Integrity, the other stuff mentioned reduces overall
Windows DPC latency.
-
- KVRist
- Topic Starter
- 220 posts since 11 Mar, 2003 from Stockholm/Sweden
I see. These are probably important performance tweaks for timing, but I have a fairly educated guess that this is probably not the culprit for the initial firmware upload and renumberation locking up,
Meanwhile, I've succeeded in extracting the updated firmware from the driver and adapted that to work inside the EEPROM in the unit. This seems to work every time as the unit appears instantly as the upgraded PID 1001, avoiding the firmware update driver entierly.
Was there ever any units shipped with PID 1001 out of the box?
- KVRian
- 987 posts since 21 Aug, 2017 from Brasil
-
- KVRist
- Topic Starter
- 220 posts since 11 Mar, 2003 from Stockholm/Sweden
Seems to be working after upgrading to 23H2 as well. Very strange that it auto updates to 23H2 without asking though. This wouldn't fly in a professional setting.
-
- KVRer
- 1 posts since 30 Jun, 2007
AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Good job!tlr wrote: ↑Mon Dec 11, 2023 8:44 amMeanwhile, I've succeeded in extracting the updated firmware from the driver and adapted that to work inside the EEPROM in the unit. This seems to work every time as the unit appears instantly as the upgraded PID 1001, avoiding the firmware update driver entierly.
The PID: 0x1001 seems to be a Windows thing, since under Linux, there are 1000 or 1010 (R2) units.
https://github.com/sgorpi/midex8/issues/3 (https://github.com/sgorpi/midex8/issues/3)
I take your Midex-8 has the EEPROM, but is it a R2 as shown on the PCB? Pics on oldschoolsdaws are mine, btw.
This particular one registers as such under Unbuntu Studio 20.04, without the Linux driver being installed.
(geez, you were a contributor to Chris Micali's Ztracker! He's got himself quite a career even since, in music and tech):~$ lsusb
Bus 001 Device 014: ID 0a4e:1010 Steinberg Soft-und Hardware GmbH Steinberg MIDEX 8 (r2)
:~$ usb-devices
T: Bus=01 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 14 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0a4e ProdID=1010 Rev=02.01
S: Manufacturer=Steinberg
S: Product=Steinberg MIDEX 8 (r2)
C: #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=400mA
I: If#= 0 Alt= 0 #EPs= 5 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=02(O) Atr=03(Int.) MxPS= 64 Ivl=1ms
E: Ad=04(O) Atr=03(Int.) MxPS= 64 Ivl=1ms
E: Ad=06(O) Atr=03(Int.) MxPS= 8 Ivl=1ms
E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=1ms
E: Ad=86(I) Atr=03(Int.) MxPS= 8 Ivl=1ms