UEFI bootmanager and writing to nvram

| Written by CodeAsm

I had some experience with installing Windows on my Lenovo Thinkpad E530 and later also Ubuntu as a multi-boot environment next to windows. It all works fine.And somehow I managed to install an uefi shell aswell, but after I got an SSD and installing windows and Ubuntu, I was unable to recreate a working uefi shell, the Uefi partition i created was stored on the SSD instead of the hdd.

I dont know if moving the files to a hdd partion has serios speed implications, but I want the freedom to replace the now "Data and personal files" disk anytime in the future without destroying the ssd boot options.

So, anyway. I think I fixed it by finding out how efibootmgr works, the man pages can be found here :http://linux.die.net/man/8/efibootmgr
And maybe using bcdedit you could do it from windows, but I had a hardtime getting acces to the uefi boot partition (linux is a lot easier if you happen to be Root)

So, basicly one can list all bootoptions stored inside the uefi nvram using just


You get the following result for example:

BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0004,0000,0001,0002,0003
Boot0000* UEFI Shell
Boot0001  Boot Menu
Boot0002* Windows Boot manager
Boot0003  Lenovo Diagnostics

but thats not all (if you are not root, add sudo) efibootmgr requires that the kernel support access to EFI non-volatile variables (through /proc/efi/vars on 2.4 kernels, /sys/firmware/efi/vars on 2.6 kernels). modprobe efivars should do the trick.

and to get more info: type -v (verbose)

efibootmgr -v

Now the output will be slightly bigger:

BootCurrent: 0013
Timeout: 0 seconds
BootOrder: 0004,0000,0001,0002,0003
Boot0000* UEFI Shell    HD(2,96800,32000,24d8753a-ba2c-4cda-8ef9-8e115d00d4f4)File(\EFI\Shell.efi)
Boot0001  Boot Menu   
Boot0002  Windows Boot manager
Boot0003  Lenovo Diagnostics

You properbly notice that my shell shows up with more info. You can find more info at the man page. but ill show you one for my ubuntu aswell windweos

Boot0013* ubuntu    HD(2,96800,32000,2ff9953a-ba4c-4cda-8ef9-8e235d01d4e4)File(\EFI\ubuntu\shimx64.efi)

so well, il explain what these entry mean, because maybe your say HD(1, ... something something

I exlained that My boot partition is stored on the SSD and I noticed in Linux that my SSD is a second drive device, the HDD is first, so no problem, sda and sdb under linux. sdb is my ssd.

But how was I supposed to add the second partition of my ssd? just /dev/sdb dint work and /dev/sdb2 also not.

-p | --part PART
Partition number containing the bootloader (defaults to 1)

so, I need to use P to specify the partition number if they are not 1 ;)

to add my Shell efi file that was stored in this partition, i used the following command:

sudo efibootmgr -c -d /dev/sda -p 2 -l '\EFI\Shell.efi' -L Shell

where -c means Create a new entry, -d means where the loaders is located (on wich disk) -p specifies wich partition, you could leave this away if its partition 1. -l (small L) means the location of the loader in the filesystem on the partition. and -L means label (using ' ' is also allowed)

To remove a entry

sudo efibootmgr -b 3 -B

-b | --bootnum XXXX
Modify BootXXXX (hex)
-B | --delete-bootnum
Delete bootnum (hex)

you get that HEX number from the list of boot entries.


Good luck and use google (leave a comment or mail me if you want help from me, but hey, Im no expert yet, this just worked :D )



openWRT on the Sitecom WL-559 / WL-173 54g Turbo ?

Last Updated on 09 January 2014 | Written by CodeAsm

Doing some reseach on getting openWRT working on the Sitecome WL-559 from Ziggo (I found mine while dumster diving ;) ) and doing so i can confirm, the WL-559 is just a relabeled WL-173 Sitecom just for Ziggo (NL (BE? FR?))

This is based and hopefully helps the openWRT pages : http://wiki.openwrt.org/oldwiki/openwrtdocs/hardware/sitecom/wl_173?s[]=wl&s[]=173

This router runs on the Realtek RTL8650/RTL8651(B): http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=11&Level=4&Conn=3&ProdID=70


I found so far:

  • Serial com (TTL Rx Tx)
  • Posible JTAG (some people already found out, and got memory access)
  • USB 1.0 !! its not populated but datasheets and other family members of the RTL8650B has USB !
  • Sources availeble
  • Telnet ?

And some guy who build some of them? https://web.archive.org/web/20130606111447/http://www.csie.nctu.edu.tw/~cfliu/work/8650.htm

Please click readmore for all the research ive done sofar and ill update this article when im finding more.


Read more: openWRT on the Sitecom WL-559 / WL-173 54g Turbo ?


Vcc, Vdd, Vss or Vdd. What are they and wich one is ground and power?

Last Updated on 30 December 2013 | Written by CodeAsm

Ive heard it earlier from a electrician and a teacher, but I seem to keep forgetting it. So to start remorizing it I started to write this article. Its actualy pretty easy when you remember why it is called VDD or VCC for power and VSS and VEE for ground.

Because of the Transistors inside the IC your connecting it to. ill qoute: "Apparently this terminology originated in some way from the terminals of each type of transistor, and their common connections in logic circuits (i.e., Vcc is often applied to BJT collectors, Vee to BJT emitters, Vdd to FET drains, and Vss to FET sources). This notation then carries across to integrated circuits" Eric Seale and Wilf Rigter.

Its source: http://encyclobeamia.solarbotics.net/articles/vxx.html

and the table from  there:

BJT FET "Vxx" meaning
Vcc Vdd Positive supply voltage
Vee Vss Negative supply, ground

The AMR, Audio/Modem Riser card WM9707

| Written by CodeAsm

So I was doing some research into the Soundcard of the Xbox Alpha. Because I want to create a franken Alpha myself I need a soundcard. Well, it can work without one but thats kinda stupid and I want sound. According to some people on Assemblergames.com the Dash should work without one. Games will crash.

Me and a few other wanted to find or create such a sound card ourselves. But the resources to do so are very limited, in a way that you cant realy find documents or parts very easy. but it all changed yesterday, 14/10/2013. I contacted Intel, searched the archive and after a while Espes send me the Intel doc I was searching for http://www.ms-infobytes.info/pages/AudioModemRiser.pdf ,

amr AUDIO/MODEM RISER card specs intel

Bad_Ad84 commented in the chat "

why not download the reference design from wolfson for one of the amr cards

and here we are :D I found first one for the WM9705, but this morning I used the Archive again:


AMR Xbox Alpha Soundcard Wolfson

On the whole wide web there is little to no information about the AMR slot used in many 2000 era computers, it was supposed to be kinda closed and such.

But here are the specs and some other intresting images :P original source also noted.

I hope this info and the files can help you If you stumbled on this, I try to make this sound card into something real in the next couple of month and maybe sell some boards if I have leftovers. Otherwise, make it yourself, order the main ic from somewhere like china and build it :D or source your own board. Original retail price, $99.

I spend $8 so far, and 6 hours searching.
I have made a backup of all the said files, so might one disappear, please contact me.

Image from borman, his Soundcard behind the Nvidea video card:


Summer projects and MSX

Last Updated on 12 August 2013 | Written by CodeAsm

Recently I recieved a pakage from Japan containing the following ic:

Yamaha V9958


This is ofcourse a Video chip belonging to the 80s MSX series. Awesome looking 64pin DIP.

I did another search on the internet and yes, I realy like to build a MSX from scratch or at least a MSX upgrade card to turn my MSX to a Msx2 or even a MSX2+.

A qoute from Wiki:

The Yamaha V9958 is a Video Display Processor (VDP) used in MSX 80s home computers. More specifically, the MSX 2+, MSX turbo R and the "TIM" upgrade to the TI-99/4A. The Yamaha V9958, also known as MSX-Video, is the successor of the Yamaha V9938. It was clearly conceived not to be a very major upgrade to its predecessor, which hampered its adoption. The main new features are three graphical YJK modes (with up to 19268 colors) and horizontal scrolling registers.


I now want to buy the following:

YM2413 (maybe more, to play with) DIP14
YM2149 aka AY-3-8920 (DIP64, so i want to use it in a socket)
Some RAM chips for Video, CPU

And of course make a PCB for this all.
I also know that I have difficulties keeping my projects simple, ill start writing a add-on Card for my existing MSX, try making some game.
And maybe start making an upgrade card in such a way that an home-brew MSX can also use it. Magic everywhere. Also I realy need to go understand Glue logic.

Hope I don't break stuff :D
and I rly have no idea, maybe I should do something with my N8vem aswell, to get "into" stuff.

Remember this? its my N8vem, it still running so now and then. I should make some more cards for it :P




Page 3 of 10