Yes, it’s just a simple programming issue, but:
281.5 hours to charge at 94%!
Yes, it’s just a simple programming issue, but:
281.5 hours to charge at 94%!
I find that sometimes I revert to the older, simpler tools, despite the fact that there are many newer ones available. Why? They’re standardized. They’ll be everywhere. This means you can almost guarantee they’ll be available for you. This, as they say, is a good thing.
Such is the case of ‘xmore.’ xmore is a simple program that provides a scrolling window you can read text in on an X11 display. It’s tiny, and considered to be a core part of X.
I was a bit shocked when I discovered that the default xmore package in Ubuntu dropped core. It was having issues with the Xaw library. So, I looked around, and found a patch for Debian, and modified, then applied it to Ubuntu’s source package.
If you want to install my prebuilt (unofficial) package, it’s available, here’s how to get, and make sure it’s good:
I’ve signed my build with dpkg-sig:
%wget http://www.holwegner.com/files/xmore_1.0.1-0ubuntu2_i386.deb
You will want to get my key and add it to your keyring:
%gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F8C314E3 gpg: requesting key F8C314E3 from hkp server wwwkeys.eu.pgp.net gpg: key F8C314E3: public key "Shawn Holwegner (GPG Signing Key) <me@mydomain.com>" imported (edited to thwart spambots) %gpg --armor --export F8C314E3 | sudo apt-key add - OK
Now, you can check my signature; I’ve tagged this release as ‘feisty’ (Note that I have left the response of GPG here so you can ensure the values match):
%dpkg-sig -c xmore_1.0.1-0ubuntu2_i386.deb Processing xmore_1.0.1-0ubuntu2_i386.deb... GOODSIG _gpgfeisty 743D4D271144FB13C788D9F3B4B33515F8C314E3 1184151679
Now, install it:
%sudo dpkg -i xmore_1.0.1-0ubuntu2_i386.deb
Enjoy having a functional ‘xmore’!
However, if you want to install your own rebuild, here’s how.
#Make sure we have all of our required utilities %sudo apt-get install build-essential wget patchutils fakeroot #Make sure we have the headers and libraries required %sudo apt-get build-dep xmore #Get the source. %sudo apt-get source xmoreNow, get my patch at https://bugs.launchpad.net/ubuntu/+source/xmore/+bug/72560/comments/6.
# Apply patch: %cd xmore-1.0.1; sudo patch -p1 < ../path/to/saved/patch.diff # Build xmore %fakeroot debian/rules binary # (Re) Install xmore %sudo dpkg -i ../xmore_1.0.1-0ubuntu1_i386.deb # Clean up. # cd ..; sudo rm -rf xmore*
Remember that this will be divergent, so you’ll want to add it to a ‘hold’ so it doesn’t get overwritten next time you do an update, this can be done with:
%echo xmore hold | dpkg --set-selections
Hopefully this entry will help others plagued by the same problem I was facing.
Since I’ve opted to give up Windows entirely, I’ve lost quite a few of the ‘not-quite-necessities’ I once had. One of those things was the ability to update the microcode within my computer to support updates and fixes. Well, no more! Thank you, Dell.
Below is a small tutorial on how to use prebuilt packages in Ubuntu Feisty Fawn, but should work 100% with Debian Etch, my laptop’s former OS.
Note that when I prepend a line with a ‘%’, that means you open a terinal and do it at the prompt; yours may look different. That’s fine. Everything should just work. This MAY NOT WORK IF YOU KILLED YOUR DELL BIOS SUPPORT PARTITION; YOU HAVE BEEN WARNED! :)
First of all, you’ll need to install the smbios support libraries; these are available within the Ubuntu repositories:
%sudo apt-get install libsmbiosxml1 libsmbios-bin libsmbios1
Next, you’re going to need the firmware-tools and firmware-addon-dell packages. I’ve built my own from Dell’s etch build sources. These are for IA32, if you need x64, that’s a directory up, and sorry, I can’t offer those, I do not have an x64 installation to test with.
You may use my i386 builds if you wish, I’ve signed my debs, you can check them with dpkg-sig:
%wget http://www.holwegner.com/files/firmware-addon-dell_1.2.13-1_i386.deb %wget http://www.holwegner.com/files/firmware-tools_1.2.6-1_all.deb
You can get my key and add it to your keyring:
%gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F8C314E3 gpg: requesting key F8C314E3 from hkp server wwwkeys.eu.pgp.net gpg: key F8C314E3: public key "Shawn Holwegner (GPG Signing Key) <me@mydomain.com>" imported (edited to thwart spambots) %gpg --armor --export F8C314E3 | sudo apt-key add - OK
Now, you can check my signature; I’ve tagged both as ‘feisty’ (Note that I have left the response of GPG here so you can ensure they match):
%dpkg-sig -c firmware-addon-dell_1.2.13-1_i386.deb Processing firmware-addon-dell_1.2.13-1_i386.deb... GOODSIG _gpgfeisty 743D4D271144FB13C788D9F3B4B33515F8C314E3 1181453286 %dpkg-sig -c firmware-tools_1.2.6-1_all.deb Processing firmware-tools_1.2.6-1_all.deb... GOODSIG _gpgfeisty 743D4D271144FB13C788D9F3B4B33515F8C314E3 1181453298
Now, if you trust me, install them:
%sudo dpkg -i firmware-tools_1.2.6-1_all.deb firmware-addon-dell_1.2.13-1_i386.deb
Find out your system ID. Note that this is the area in bold:
%sudo getSystemId Libsmbios: 0.12.1 System ID: 0x01BD Service Tag: 6H5GMB1 Express Service Code: 14097792493 Product Name: MM061 BIOS Version: A11 Vendor: Dell Inc. Is Dell: 1
Go to http://linux.dell.com/repo/software/bios-hdrs/ and find your system, the directory will be something awfully messy, like system_bios_ven_0×1028_dev_SYSTEM_ID_version_THE_BIOS_VERSION. In the case of my Inspiron 6400, mine was: system_bios_ven_0×1028_dev_0×01bd_version_a15 for my System ID of 0×01BD and BIOS version A15.
Download the “bios.hdr” file from that directory.
%wget http://where/your/bios/is/bios.hdr
Load the “dell_rbu” support module into the kernel:
%sudo modprobe dell_rbu
Finally, flash the BIOS:
%sudo dellBiosUpdate -u -f ./bios.hdr Supported RBU type for this system: (MONOLITHIC) Using RBU v2 driver. Initializing Driver. Setting RBU type in v2 driver to: MONOLITHIC Prep driver for data load. Writing RBU data (4096bytes/dot): ............................ .............................................................. ....................... Notify driver data is finished. Activate CMOS bit to notify BIOS that update is ready on next boot. Update staged sucessfully. BIOS update will occur on next reboot.
Now, when you reboot, the system will flash to the BIOS you’ve downloaded, and reboot. Enjoy your new BIOS, I’m enjoying the microcode updates in A15 as I type this! ;)
Ok, it died twice again, worked 3 times back at home, and died 4 more when out and about. I give up on this mess.. If I need wireless, elsewhere, I’ll make another config file. NetworkManager is too flaky; the system constantly reloads the ipw3945 driver before wpa_supplicant has had a chance to associate… and the prior version of ipw3945 is unloaded (due in part to the user-level daemon which is required.. thank you Intel..)
So, here’s my (hopefully final) workaround:
/etc/network/interfaces:
auto eth1 iface eth1 inet dhcp pre-up /etc/init.d/wifi_wpa.sh start pre-down /etc/init.d/wifi_wpa.sh stop
/etc/init.d/wifi_wpa.sh:
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
BIN=/sbin/wpa_supplicant
PIDFILE=/var/run/wpa_supplicant.pid . /lib/lsb/init-functionscase “$1” in start)
if [ -x /sbin/wpa_supplicant ]; then $BIN -ieth1 -c /etc/wpa_supplicant.conf -Dwext -w -P $PIDFILE 2>&1 &
fi ;; stop) killall wpa_supplicant ;; *) ;;
esac
exit 0
/etc/wpa_supplicant.conf:
network={ ssid="MYSSID" scan_ssid=1 psk="MYPSK" }
/etc/acpi/suspend.d/95-iface-down.sh:
#!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin /sbin/ifdown eth1
/etc/acpi/resume.d/95-iface-up.sh:
#!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin #Just to be sure /sbin/ifdown eth1 sleep 2 /sbin/ifup eth1
Yes, it takes an extra 4 seconds to startup, but damn it, it works without fail. Anyone who’s been dealing with this mess at all, I strongly suggest ‘apt-get —purge remove network-manager’ ;)