The Kronos Inner Workings - For the brave ones ;-)

Discussion relating to the Korg Kronos Workstation.

Moderators: Sharp, X-Trade, Pepperpotty, karmathanever

roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

I might not have to de-solder the flash if I'm lucky.

Since shark is arm-based I can utilize jtag together with openocd. This way I can also run gdb.

I'd like to have dtrace on mobo + add a few extra helper programs on the mobo as well.

With the working network stack gdb would be good to use as well on the mobo.
roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

Here is the complete list of fixed things in the bios.

There are some fixes that kronos could benefit from (i.e. sata-3 drives compatibility?, better usb support.....)

BIOS Update Release Notes
PRODUCTS: D410PT, D510MO (Standard BIOS)
BIOS Version 0542MOPNV10N.86A.0542.2011.0729.1300

About This Release:
 Date: Jul 29, 2011.
 Integrated Graphics Option ROM: 2036 06/14/2010
 LAN Option ROM:
o Realtek PCI Express Gigabit Ethernet Controller Series v2.35 (100614)
o Realtek PCI Express 10/100M Ethernet Controller Series v1.24 (101007)
o gPXE 1.0.0

New Fixes/Features:
 Fixed issue where Windows memory diagnostic tool reports hardware error when inserting or removing USB device during test.
 Fixed blue screen error with Windows Vista 32 Home Basic.
 Fixed issue where “User Access Level” changes when F9 is pressed.
 Fixed issue where “Clear User Password” option is not displayed when accessing setup using User password.
 Fixed issue where pressing F7, F10 or F12 needs a password even when User Access Level is to “Full Access”.
 Fixed issue where certain USB barcode scanner causes the system to hang during POST.
 Increased Setup time and Data range.
 Added support for new SPI flash parts.
 Fixed issue where the Insert Key does not work.
Fixed issue where USB floppy drives are not detected.
Fixed issue where system fails to boot with Ubuntu bootable device attached.
Fixed issue where USB device connected to front panel is not recognized.
Fixed issue with SCSI install failure.
 Fixed issue with processor display and SMBIOS structures.
 Fixed MTRRREG failure.
 Fixed setupdb issue.
Fixed issue where certain DVD drive is not detected.
Fixed issue where system hangs when using a secure USB key.
 Fixed issue where „Other‟ shows in processor socket type area when performing CPU Display and SMBIOS Structures test.
 Fixed issue where Intel Precision Cooling items show in Intel® Integrator Toolkit when it is not supported.
 Fixed issue where BIOS Downgrade Flash Protection test fails.
 Disabled IGD when PCI VGA exists and Primary display adapter is set to external PCI Graphics.
Fixed issue where UEFI boot fails with USB drive.
 Fixed issue where alarm is not functioning correctly when running TIME_DAY test.
 Updated PXE ROM.
 Fixed issue where COM1 and COM2 are reversed in Device Manager.
 Fixed issue where Device Manager shows extra COM port.
 Fixed issue where beep occurs during POST when there is no error.
 Updated VBIOS to version 2036.
 Fixed issue where PCI graphics cards with onboard PCI-to-PCI bridges are not detected by the system BIOS.
 Fixed issue where all bootable devices except Hard Disk Drive disappear in Intel® Integrator Assistant boot order.
 Fixed issue where CPU Family shows Other Family CPU instead of Atom CPU.
 Fixed issue where Synch string is not shown when DIMM slot is empty.
 Fixed issue where system will not display "NO BOOTABLE DEVICE" when installing the operating system in UEFI mode then setting UEFI boot to Disabled.
 Fixed issue where USB Flash ZIP cannot be controlled by ZIP emulate item.
 Fixed issue where any key of PS/2 keyboard can wake up system if power is lost then reapplied.
 Fixed issue where system will reset when running “Mstress.exe” memory test tool.
 Added 2x or 4x in display of L2 cache size, as appropriate for the processor.
Updated mini-PCIe to SATA bridge option ROM.
 Fixed issue where manual configuration of memory timings will result in system hang.
 Fixed issue where fan intermittently runs at full speed when performing a cold boot.
 Fixed issue where unsupported items appear in map file with Intel® Integrator Toolkit.
 Fixed issue where option ROM of external PCI card cannot run.
 Updated PXE and gPXE ROM to the latest version.
 Fixed issue where removing and then applying AC power causes system to boot when using a PS/2 mouse.
 Fixed issue where system fan speed frequently displays as zero when fan is connected.
 Updated the display of USB in BIOS to be a removable group if USB emulation is set to Removable.
 Updated LVDS Configuration settings help text in BIOS setup.
 Added support for mini-PCIe to SATA bridge option ROM.
 Fixed issue where large hard drive size is displayed wrong in BIOS setup.
 Fixed WHQL failure related to memory I/O test.
 Fixed issue where Intel® Integrator Toolkit shows a RAID option of "Configure SATA As" when RAID is not supported.
 Fixed issue where F7 can update BIOS using .BIO file with different OEM version and issue where F7 can update BIOS using CVT/RST file.
 Fixed SMBIOS issue where "DDR2" is shown at empty DIMM instead of "Unknown Dev Type".
Fixed issue where certain USB CD-ROM cannot be detected.
 Fixed event viewer error: Kernel-Processor-Power error.
 Moved the Int05h, Int17h and Int74h code to E000 Segment in CSM16.
 Fixed the <Pause> key scan code error in CSM16.
 Fixed serial redirection function issue when there is no serial controller in CSM16.
 Fixed allocating legacy memory function error in CSM16.
Fixed issue where system cannot boot with certain USB drive.
 Removed code for setting CPU temperature offset.
 Fixed issue where system does not boot with dual boot recovery partition.
 Fixed issue where processor temperature sensing is high above 125° C.
Fixed issue where system does not boot to FreeDos with CD-ROM.
Improved legacy USB driver architecture.
Fixed issue where system cannot boot if USB drive with Linux* system is connected.
 Improved workaround for S4 Cycling issue.
 Changed DVMT Memory Size default to 256M.
Fixed issue where USB CD-ROM without CD inserted cannot be detected.
 Fixed issue where system does not boot DOS from hard drive in PIO mode in CSM16.
 Fixed issue where memory test fails in USB with certain memory test tools.
 Adjusted USB architecture to avoid touching core files.
 Fixed issue where there is a long delay during S4 resume or reboot when an audio CD is in the CD/DVD-ROM.
 Fixed issue where WiMAX card in PCIE x1 slot is not detected.
 Fixed issue where 32MB and 64MB options of DVMT Memory Size cannot be selected.
Fixed issue where system does not boot with USB card reader connected.
 Fixed issue where front panel USB will not be disabled when USB Ports are set as Disable FP USB Header.
 Fixed issue where system can be woken from S4 when “Wake on LAN in S5” is Disabled.
 Fixed PXE boot error.
 Fixed INT 15h Function 90h & 91h issue.
 Improved the BCV Device compatibility.
 Fixed the PMM corrupt memory issue.
 Add support for Promise Technology* SATA Card in CSM16.
 Implemented INT 13H Function 04H - disk verify function for USB floppy.
 Fixed issue where you cannot access USB FDD in FDD Image CD.
 Improved the INT 13h compatibility.
 Fixed issue where you cannot access USB Mass Storage in Full DOS.
Fixed issue where it takes a long time to check CD/DVD media when a non-bootable CD or blank CD is inserted.
 Added USB CD-ROM Emulation Support.
Heider
Guest
Posts: 102
Joined: Thu May 17, 2012 1:07 pm
Location: Wimbledon
Contact:

Post by Heider »

Oh, thanks God for not de-soldering... I would definitely be very nervous to try anything that can't be undone easily for the £3000 machine !...

Anyway, what I did to mine was to:

1) Install a new VM (Ubuntu x86), and then use that to
2) Connect the Kronos disk into the VM, and then take a snapshot (zipped it also to backup just in case).
3) "apt-get install" all the missing debug programs onto the original Ubuntu, and then:
4) Just copy the /bin and /usr/bin (without overwriting anything) from the Ubunto into the Kronos Image, things like strace, gdb etc,

I was quite surprised, they work! even if the OS is not the same, it's still Linux !

Now, back to the update...

Watch out for:

1) Improved the INT 13h compatibility.
2) Fixed issue with SCSI install failure.
3) Updated mini-PCIe to SATA bridge option ROM.
4) Fixed issue where large hard drive size is displayed wrong in BIOS setup.
5) Add support for Promise Technology* SATA Card in CSM16.

If for any of the above items causes Linux to read the disk as an HDA rather than SDA (INT13 fixes to functions 42xx), then the Kronos would "Kernel Panic", or causes the upper part of the HD (almost half the HD disk's geomery to be read differently causing corruption), you would know if something goes wrong, once upgraded, if booting is good, then great, use the "disk" button on the Kronos to access the file system to ensure that it's not showing any of the files as garbage, also ensure that they load and play fine. I'd personally am willing to talk to the upgrade risk to see if it would work and what would happen, but be extra careful to take backups in case you need to revert back to...

6) Moved the Int05h, Int17h and Int74h code to E000 Segment in CSM16.

I've never personally had to use int-17 (printer API) myself, and don't think Kronos is doing neither, however, Moving code away from an original location into E000 segment might cause some functions (if called) to hang. That is only-if the Kronos was coded to have the protected-mode driver doing direct calls into these locations, again, highly unlikely to cause issues there.


Below should be minor to worry about:

7) Disabled IGD when PCI VGA exists and Primary display adapter is set to external PCI Graphics.

The reason is the IGD (Integrated Graphics Device, i.e. onboard one) might be disabled, since the LCD is SHARK-mounted, then there should be no problems there, only small worry just in case your primary display (VGA) goes disabled. That's all.


I would go ahead with the upgrade, and will do myself later on... but first, I would really like to come up with something nice (some test screen the least) embedded in the IMG files, currently, I'm just reading and understanding the code.

Regards
Heider
Heider Sati
roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

Heider wrote:Oh, thanks God for not de-soldering... I would definitely be very nervous to try anything that can't be undone easily for the £3000 machine !...
Oh, not really a big problem. I've done it a couple of times before on other stuff before to restore from corrupted firmware. 8)

However I don't want to open/cloes my kronos too many times since the screws/holes wares out....

I'm envious about all space you have in your kronos. Mine is a 61-key and space is very tight at the mobo :(

/--R
Heider
Guest
Posts: 102
Joined: Thu May 17, 2012 1:07 pm
Location: Wimbledon
Contact:

Post by Heider »

Well, when I opened mine, I noticed a space also just above SHARK for ports to place, I didn't want to drill there for the fear of any drilling-metal-dust which can short-circuit SHARK, however, using my hoover, I managed to drill the holes successfully whilst the hoover is on at all times. I am sure on the K61 you can do it too but it wouldn't be at the far-end, perhaps in the middle just above SHARK, I think placing the Kronos upright can ensure that no metal particles drop there.

All you need is a drill (don't drill fast, just very slow to do a precise job), and a 23mm metal drill-piece (less than £10 from eBay), and also these sockets, they work great, and saved me heck of long time to (as you say) open and close the Kronos...

In the worst case scenario, perhaps buying a Ply-Board from Wickes or B&Q, cut it into the same size of the original, and then drill it to run the cables/connectors might be a good idea to save time, this way you keep the original board, and only place it back when all this is done.

I noticed on Linux there is a tool called WireShark, (funny name, quincidance? I know...) this tool can be used (if you are into Linux more than DOS), to debug all USB signales (kinda like net/usb-mon)... The bummer for me is that this tool requires a GUI, which means that I can now install another VM for a GUI-type Linux...

Anyway, flying tomorrow, gotta pack, .. gotta pack, .. gotta pack !!!...

Regards
Heider
Heider Sati
Heider
Guest
Posts: 102
Joined: Thu May 17, 2012 1:07 pm
Location: Wimbledon
Contact:

Post by Heider »

Hi Roblof...

Just before I go, I hate to see you de-soldering your expensive system, I hope you don't do it, I was hesitant to post this, but nevertheless, please see below:

The contents of mod.img are:

C:\Decrypted\Korg\Mod>Dir
11/06/2012 09:07 <DIR> .
11/06/2012 09:07 <DIR> ..
29/03/2012 12:54 33,029 KorgUsbAudioDriver.ko
29/03/2012 12:54 11,922,300 OA.ko
02/04/2011 00:40 56,996 USBMidiAccessory.ko
3 File(s) 12,012,378 bytes


The contents of eva.img are:

C:\Decrypted\Korg\Eva>Dir
11/06/2012 09:21 <DIR> .
11/06/2012 09:21 <DIR> ..
11/06/2012 09:21 <DIR> lost+found
11/06/2012 09:21 <DIR> NAND
29/03/2012 12:14 2,100,471 ckhdw
29/03/2012 12:14 5,568 detectusbocc
29/03/2012 12:54 19,907,655 Eva
29/03/2012 12:54 1,521 FmtMnt2ndSSD.sh
29/03/2012 12:13 4,516 getavahihostname
22/03/2012 12:42 957 getnetconfig
22/03/2012 12:42 3,235 getnetstatus
29/03/2012 12:14 3,448 mountvfat
29/03/2012 12:13 3,824 mumount
22/03/2012 12:35 300 RunckhdwFromEva.sh
29/03/2012 12:54 8,243 RunFmtMnt2ndSSD
29/03/2012 12:13 15,208 setnetconfig
29/03/2012 12:14 3,276 unmountvfat
29/03/2012 12:54 580,342 UpdateOS
29/03/2012 12:54 192,404 x09130_disk_partitioner
14 File(s) 22,830,968 bytes


The contents of wavemotion.img are:

C:\Decrypted\Korg\WaveMotion>Dir
11/06/2012 09:09 <DIR> .
11/06/2012 09:09 <DIR> ..
11/06/2012 09:09 <DIR> lost+found
23/02/2011 18:18 25,741,950 RhodesDyno.wmms
23/02/2011 18:18 28,078,970 RhodesMarkI.wmms
23/02/2011 18:18 29,738,778 RhodesMarkII.wmms
23/02/2011 18:18 28,365,324 RhodesMarkV.wmms
23/02/2011 18:18 28,858,730 Wurlitzer200.wmms
23/02/2011 18:18 20,347,476 Wurlitzer200A.wmms
6 File(s) 161,131,228 bytes




I hope this puts a smile on your face :)


All the work is being done from OA.ko (from within Mod.img), it's all there, menus, APIs, forms, etc,

Once I come back from my trip in 10 days, you bet it's DEVelopment time...

Please don't de-solder your chip, I managed to read it from normal APIs.

I also have the content of the Eva file above, in ELF format, all done.

... as Adam Richmond (Man Versus Food) says "Ouuuh my Goodness, ... Ouuhh,... my,,... Goodness"...

What do you think? :)

Kind Regards
Heider
Heider Sati
roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

:D :P

But then I have nothing to do and have to wait until you come back :shock:

I don't think I can wait that long, or can I....? :oops:

I assume that the firmware is in the NAND directory.
Heider
Guest
Posts: 102
Joined: Thu May 17, 2012 1:07 pm
Location: Wimbledon
Contact:

Post by Heider »

Hi Roblof,

The OA.ko file is the one to go into, it does the lot, which is (I think) what I'm interested in...

Anyhow, here is the contents of the NAND dir since you asked:

C:\Decrypted\Korg\Eva\NAND>Dir /s

Directory of C:\Decrypted\Korg\Eva\NAND

11/06/2012 09:57 <DIR> .
11/06/2012 09:57 <DIR> ..
11/06/2012 09:21 <DIR> EDITRES
11/06/2012 09:20 <DIR> STARTUP
1 File(s) 0 bytes

Directory of C:\Decrypted\Korg\Eva\NAND\EDITRES

11/06/2012 09:21 <DIR> .
11/06/2012 09:21 <DIR> ..
11/06/2012 09:21 <DIR> ENG
0 File(s) 0 bytes

Directory of C:\Decrypted\Korg\Eva\NAND\EDITRES\ENG

11/06/2012 09:21 <DIR> .
11/06/2012 09:21 <DIR> ..
29/03/2012 15:00 11,132,251 TSTENG.PEG
1 File(s) 11,132,251 bytes

Directory of C:\Decrypted\Korg\Eva\NAND\STARTUP

11/06/2012 09:20 <DIR> .
11/06/2012 09:20 <DIR> ..
11/06/2012 09:20 <DIR> ALL
0 File(s) 0 bytes

Directory of C:\Decrypted\Korg\Eva\NAND\STARTUP\ALL

11/06/2012 09:20 <DIR> .
11/06/2012 09:20 <DIR> ..
11/06/2012 09:20 <DIR> EDITRES
11/06/2012 09:20 <DIR> LANG
0 File(s) 0 bytes

Directory of C:\Decrypted\Korg\Eva\NAND\STARTUP\ALL\EDITRES

11/06/2012 09:20 <DIR> .
11/06/2012 09:20 <DIR> ..
29/03/2012 15:00 56,557,198 BITMAPS.PEG
29/03/2012 15:00 44,141 FONTS.PEG
29/03/2012 15:00 1,370 TABLES.PEG
3 File(s) 56,602,709 bytes

Directory of C:\Decrypted\Korg\Eva\NAND\STARTUP\ALL\LANG

11/06/2012 09:20 <DIR> .
11/06/2012 09:20 <DIR> ..
29/03/2012 15:00 113 ENG.LNG
1 File(s) 113 bytes

Total Files Listed:
6 File(s) 67,735,073 bytes


Let me know if you need anything more.

Kind Regards
Heider
Heider Sati
Heider
Guest
Posts: 102
Joined: Thu May 17, 2012 1:07 pm
Location: Wimbledon
Contact:

Post by Heider »

Think of the above as the "Firmware UnZipped"... therefore, there is nothing to Unzip. as SHARK load these files up.

For your info, SHARK does not do it itself, it actually ask LINUX to do the job, so the FS/IO is all LINUX based, it loads up the Module, once you are half the way down the startup screen the Mod is unmounted to ensure that no one (apart from me now) accesses this directory and read it's contents.

It's all in the OA.ko file, the rest is just resources loaded by it.

EVA is not that important to the Kronos, as it's resources to use and not codes/menus etc.

I hope this explains it.

Kind Regards
Heider
Heider Sati
roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

Ok, I see....

Well, I'll have to try and decrypt the dirs then since otherwise I have nothing to do. :oops:

Aren't you on your way to the airport now or are you posting mobile :P
Heider
Guest
Posts: 102
Joined: Thu May 17, 2012 1:07 pm
Location: Wimbledon
Contact:

Post by Heider »

Last post!...

About to get in the car.

... I hope Korg is not waiting on the other side of the Airport :)

Once question for you, which might be very helpful, before I get my hands dirty in it, have you managed to get Telnet/SSH workng on the Kronos?

Have a good day, I'm sure we'll talk later.

Regards
Heider
Heider Sati
roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

Nope, not yet.

I've been too busy with my IRL + gigging stuff so time has been constrained. Also, doing this with a 2yrs old kid in the same room isn't going too well :P

My idea is to replace ftpd with sshd and hope that the kronos doesn't detect the swap 8)
Heider
Guest
Posts: 102
Joined: Thu May 17, 2012 1:07 pm
Location: Wimbledon
Contact:

Post by Heider »

(can't sleep... I've been awake since 3am US time now, I guess jet lagged)...

Don't worry roblof, I know how it's like with the kids, I got 2 myself... !

Anyhow, I already started patching-up LoadOA and InsMod files to allow me to run with modified /etc files. I think I will extend that later on to allow the rest of the /etc files to change without it stopping the loading process.

I really wish I could sleep, I feel extremely dehidrated at the moment, don't know why I forgot to buy water today... the tap water tastes like sand :( but hey!...

When I was on the plane, I have managed to understand the format of the KORF file (something you would see when you decrypt the images), I now know how it's compiled and was about to extract all the images (buttons, BMPs, forms etc), until my battery ran out on me, I was gutted... but nevertheless, it's all in my head, will be done at some point once I'm done and on my way back...

As they say here... "Have a nice day"... talk to you later mate.

Kind Regards
Heider
Heider Sati
roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

If you could send me a patched version it would be a big time saver...

I'll try to spend a few moments with my kronos today, but tonight I have a rehearsal with my band so I can't fool around too much with it.
Last edited by roblof on Tue Jun 12, 2012 1:11 pm, edited 1 time in total.
roblof
Full Member
Posts: 102
Joined: Fri Dec 12, 2008 7:41 pm

Post by roblof »

About the kid - Everytime he sees my kronos, he quickly rip off the data wheel and laughs :cry:
Locked

Return to “Korg Kronos”