Thursday, 24 November 2011

WRT54GL Hacking

Driver for SD card downloaded from here
mmc-v1.3.4-gpio2.tgz file

tar xzvf mmc-v1.3.4-gpio2.tgz
cp mmc-v1.3.4-gpio2/mmc-v1.3.4-gpio2/mmc /lib/modules/2.4.37.4
insmod mmc (comment: at this point check with dmesg if every thing is ok)
mkfs.ext3 dev/mmc/disc0/part1



opkg update update the package list
opkg install kmod-fs-ext3 install package ext3 filesystem
insmod ext3 activate the module ext3
lsmod List installed modules
mkdir /mmc create the directory /mmc
echo "0x9c" > /proc/diag/gpiomask Mask the gpio for the SD card and Wifi
insmod mmc Activate the module mmc (sd card driver)
mount /dev/mmc/disc0/part1 /mmc Mount the SD card to /mmc
grep /mnt /proc/mounts List the mounts to check SD card is mounted

Mounting to External Media
Mount root to SD Card

#!/bin/sh
. /etc/functions.sh
mount proc /proc -t
insmod diag
echo 0x9c > /proc/diag/gpiomask
insmod mmc
insmod ext2
mount -o rw /dev/mmc/disc0/disc /mnt
[ -x /mnt/sbin/init ] && {
. /bin/firstboot
pivot /mnt /mnt
}
exec /bin/busybox init


We have to format the thing:
opkg install e2fsprogs kmod-fs-ext2
mkfs.ext2 /dev/mmc/disc0/disc # See above for the correct partition path
mount -t ext2 /dev/mmc/disc0/disc /mnt/


Now we are going to copy over the root stuff
mkdir -p /tmp/root
mount -o bind /rom /tmp/root
cp /tmp/root/* /mnt -a
sync
umount /tmp/root
umount /mnt


Another way of mounting root to SD Card

rm /sbin/init Remove this file

File /sbin/init Create this file script is below

#!/bin/sh
echo "0x9c" > /proc/diag/gpiomask
insmod mmc
insmod ext2
boot_dev="/dev/mmc/disc0/part1"

sleep 15s
mount "$boot_dev" /mmc
[ -x /mmc/sbin/init ] && {
mount -o move /proc /mmc/proc && \
pivot_root /mmc /mmc/mmc && {
mount -o move /mmc/dev /dev
mount -o move /mmc/tmp /tmp
mount -o move /mmc/jffs2 /jffs2 2>&-
mount -o move /mmc/sys /sys 2>&-
}
}
exec /bin/busybox init


chmod a+x /sbin/init Make the file executable

reboot


df -h You should see that /dev/mmc/disc0/part1 is mounted to /

OpenWRT Website

OpenWRT Downloads

openwrt-brcm-2.4-squashfs.trx file This is a 2.4 Kernel



Flashing Firmware (This is a 2.4 Kernel)

Script to clean nvram settings


./nvram-clean.sh
nvram commit




sysupgrade /tmp/openwrt-brcm-2.4-squashfs.trx
or
mtd write /tmp/openwrt-brcm-2.4-squashfs.trx


The commands below allows the use of a tftp server to flash firmware by allowing a delay in the startup to access tftp

nvram set boot_wait=on
nvram set boot_time=10
nvram commit && reboot

Wednesday, 2 November 2011

Failing SG31V2 Shuttle

After about three years of use the Shuttle I use at work was starting to fail. First I noticed that the Audio would become scratchy, clicky and noisy then the machine would freeze or reboot.
I found 3 swollen 1800uF 6.3V electrolytic capacitors on the Motherboard.

These I replaced with 1800uF 10V capacitors from Farnell or CPC (same company) and this seemed to fix some of the problems. I encountered reboot problems etc and loaded the Xsensors program and this showed the 5V supply was varying wildly. I replaced the PSU and this fixed all the problems yeehaa.

Vboxmanage Command

The Vboxmanage Command
I had difficulty trying to increase the size of a virtual hard drive on one of my Virtual machines, but it turned out that the command below was all that was needed to turn a 15GB HD into a 20GB HD easy :).

vboxmanage modifyhd ~/.VirtualBox/VDI/Windows\ XP.vdi --resize 20000

Footnote: I forgot to use a partitioning program to resize the partition and use the whole disk. I booted a Gparted Live CD in the VM and used it to grow the partition to its full size.