gigabyte

Using Gigabyte BIOS Updates on Linux Boxes

Update: Comments suggest that gigabyte are now using 7zip, not rar as their archive format.

Dealing with Gigabyte support can be a frustrating experience. They only offer support via their website. Once they reply to your enquiry which can take several days, you get a response telling you to visit their website to read the response, and you can reply. This process means it can take several weeks to get a clear and final answer.

In my case I was trying to get a fix for what I thought was a flakey BIOS in my Gigabyte GA-M68SM-S2L. Although Gigabyte claim that their QFlash BIOSes can be loaded independently of the OS the box is running, they only supply them as Windows binary self extracting archives. Gigabyte tech support aren't much help, suggesting that users can just extract it on a Windows box. There is an alternative.

The Gigabyte QFlash binaries are simply self extracting rar files. The following steps make it easy to update Gigabyte QFlash BIOSes on a linux box (albeit with non free software).

  • Download the firmware from Gigabyte
  • cd /path/to/gigabyte-fw.exe
  • unrar e gigabyte-fw.exe
  • cp firmware.fw /path/to/usbstick
  • Reboot computer and select flash BIOS from USB

If all goes to plan you should now have a new BIOS and not had to use a Windows machine to do it.

Flakey BIOS in Gigabyte GA-M68SM-S2L Makes MAC Address Change on Reboot

Over the weekend I have been setting my new Mythbuntu pair, a split. back end and front end. Everything has gone pretty smoothly.

One issue I did hit was the onboard NIC on my Gigabyte GA-M68SM-S2L motherboard despite what the specs say it is a "nVidia Corporation Unknown device 054c (rev a2)" which uses the forcedeth driver. Everytime I rebooted the box the NIC would increment its interface number - eth0, eth1 ... eth6 and so on. Changing the "Smart LAN" setting in the BIOS from auto to disabled just disables the NIC, not what I wanted.

After googling I discovered that others had experienced similar problems with ASUS boards with nVidia NICs, changing their MAC addresses. Looks like Gigabyte (and ASUS) have been shipping invalid MAC addresses on some of their boards, and forcedeth isn't happy about it, so it just generates a new (valid yet) random MAC address.

With a little help from sysfs I was able to hack my udev config so it all works now. My /etc/udev/rules.d/70-persistent-net.rules looks like

SUBSYSTEM=="net", DRIVERS=="forcedeth", ATTRS{vendor}=="0x10de", ATTRS{device}=="0x054c", NAME="eth0"

I grabbed the output of "cat /sys/class/net/ethX/device/{device,vendor}" to populate the relevant ATTRS entries above.

I am not sure what you do if you have 2 onboard NICs and they are both broken.

Gigabyte (and ASUS) or nVidia should look at fixing their broken kit to save people from wasting time on this.

Update: It turns out it was a dodgy driver shipped by Ubuntu