[Dell] BIOS Upgrade on a Dell Precision T1500

Hi there, I just got hands on an old Dell T1500 workstation. It is not the beefiest monster - but still kicking. And I got it for a bargain :). So, while I was refurbishing it, I wanted to do an BIOS upgrade, like usual. Turned out, Dell only offers a combined "DOS/WINDOWS" Upgrade File. I tried upgrading via an FreeDOS USB Stick, created with Rufus, however - it failed. Ok, lets try Windows: I installed Windows 8.1 x64 - and the tool "worked" - however, even after reboot, nothing had changed. Reset CMOS, Load Default in BIOS, nothing. Darn... Well.. All the Dell support stuff for this machine was around Windows 7-ish versions, so I thought "last chance" 😉 - and yes! It worked:

You need to install Windows 7 x64 and upgrade the Bios 2.0.2 to 2.4.0 via your Windows install. DOS seems to be not working - and Windows 8.1 won't work either. Also for good measure, load the default settings before upgrading and leave all other settings (especially the disabled fancy CPU stuff!) untouched.

Also, you'll see directly if it works: During the Win 7 upgrade, it disabled the USB mouse I was using and it took way longer. On Windows 8.1 - I could move the mouse as I wished. Oh, and one last thing: Administator rights, please ;).

Odroid U3 Kernel Upgrade + Docker

I wrote this back in January 2017. Since then I had not much time to work on the Odroid - however, user hexdump did just came up with a new repo, supporting the Odroid U3 with Kernel 5.4.x - you can find the overview over his awesome work here and the repo with complete releases (i.e. Ubuntu Bionic or Debian Buster i.e. odroid_u3-armv7l-debian.img.gz) here

I am using an trusty old Odroid U3 which I acquired years ago. With its SAMSUNG Exynos 4412 Cortex-A9 Quad Core 1,7 Ghz, 1MB L2 cache and 2 GB of RAM, this little puppy was an real beast - compared to the Raspberry Pi 1 at that time. However, Hardkernel did drop the support - again, which left the Users back with very old Kernel versions. However, thanks to some users and the fact that all needed support for the Exynos is now included in the current kernel - well, we can build our own. This write up is the distilled result of days of work and a lot of research - and the work of other people which I found on the net (which I will try to give proper credits at the right locations :)).

EDIT: I upgraded the Kernel Configuration GIST for my Kernel Config + Docker on 10.02.2017. Thanks to an E-Mail from Tobias Jakobi I found the pieces I missed about adding the Kernel Internal Fanservice into the Config. This works now, however - I still like my tweaked program a bit better, as it cools the system more aggressivly, while the kernel default one is a lot more silent, but runs in the 80's°C while mine will stay at 70° on max load.

It is important that these instructions, especially if it comes down to installing stuff - is written for the usage of eMMC memory, NOT THE SDCARD! Also, there be dragons and something could go wrong - so please, as usual, advance at your own pace and risk! 🙂

0.) Get an Serial Interface for 1.8V
Important. The UART is 1.8V LVTTL ONLY! If you connect 3.3V or 5V, you'll blow the U3! I used an regular 5V TTL USB Adapter as well as an Sparkfun BiDir Level Converter: https://www.sparkfun.com/products/12009 With that set to 1.8V from the UART of the U3, it worked flawlessly with the usual 115000 BAUD.

Pinout:
http://odroid.com/dokuwiki/doku.php?id=en:u3_hardware

_____UART____
|Pin 4 - GND|
|Pin 3 - RXD|
|Pin 2 - TXD|
|Pin 1 - VCC|
___________|
1.8V LVTTL

1.) Build U-Boot
A lot of stuff is taken from here, thanks a lot for your great work, SnakeBite!
We asume you're working as root, as all this stuff will need root rights :).

# update your packages
apt-get update
# needed for building u-boot
apt-get install device-tree-compiler
# get ODROID signed u-boot
wget http://odroid.in/guides/ubuntu-lfs/boot.tar.gz
tar xzf boot.tar.gz
# get patched u-boot & build for the U3
git clone https://github.com/tobiasjakobi/u-boot
cd u-boot
make odroid_config
make
#copy fresh u-boot to ODROID directory
cp u-boot-dtb.bin ../boot/u-boot.bin
cd ../boot
## install on SDCard - not what we want, just as an remark for me
#bash sd_fusing.sh /dev/mmcblk0

Copy the needed files (u-boot.bin, E4412_S.bl1.HardKernel.bin, bl2.signed.bin, E4412_S.tzsw.signed.bin) to your PC, reboot your Odroid U3 into fastboot via connecting the UART to the U3 and aborting the boot. After that, you can issue the fastboot command on the UART. The U3 will now wait for filetransfer over the Micro USB Port, which you'll need to connect to your PC. Also, for the sake of an easy upgrade, use an Linux PC (more infos here: http://odroid.com/dokuwiki/doku.php?id=en:u3_building_u-boot ).

# install needed programs
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot
# and - being in the right folder, start the transfer
# u-boot.bin install
sudo fastboot flash bootloader u-boot.bin
# bl1.bin install
sudo fastboot flash fwbl1 bl1.HardKernel
# bl2.bin install
sudo fastboot flash bl2 bl2.HardKernel
# tzsw.bin install
sudo fastboot flash tzsw tzsw.HardKernel
# If installation is done, you can reboot your ODROID-U3 with fastboot.
sudo fastboot reboot

You should now have a more recent U-Boot install.

Old: U-Boot 2010.12-svn (May 12 2014 - 15:05:46) for Exynox4412
New: U-Boot 2016.11-rc3-g8a65327 (Jan 07 2017 - 23:00:56 +0100)

By the way, we needed to download this boot.tar.gz, because it contains the keys needed to sign our new U-Boot install. More Infos about U-Boot and Keys: https://github.com/dsd/u-boot/blob/master/doc/README.odroid

The Installation of a more recent U-Boot version was necessary to facilitate the boot of the to-be-build new Kernel zImage with bootz.

1b.) eMMC recovery in case something goes wrong:
http://forum.odroid.com/viewtopic.php?f=53&t=969
DL the tool [ exynos4412_emmc_recovery_from_sd_20140629.zip ]

  1. Prepare a microSD card and flash the attached image.
  2. Insert microSD into U2/U3, disconnect eMMC
  3. Turn on U2/U3 and wait for a few seconds and blue LED will blink.
  4. Plug your eMMC module into U2/U3
    4b - wait 10 seconds!
  5. Plug micro-USB cable into U2/U3 and connect other side to your PC USB host or ODROID's USB host port. (This is a trigger to start the recovery)
  6. After recovery process (only a few seconds), the blue LED will turn off automatically.
  7. Finish. Install OS on your eMMC with as usual.

2.) Building Next Kernel for Odroid U3 with eMMC
And now to start the real work:

apt-get update
apt-get install live-boot u-boot-tools
cd ~
git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git linux_odroid
cd linux_odroid
# we could make an default config, but this is not needed, we take rglinuxtech config in the next step
# make exynos_defconfig
# Odroid Config Kernel 4.4 from http://rglinuxtech.com/?p=1656
curl -o .config http://pastebin.com/raw/NveRajaZ
# Or you can use my Config which enables Docker as well (Gist at the End of the page)
curl -o .config https://gist.githubusercontent.com/nmaas87/81818c1db9dc292a4c21125bd2602658/raw/7e4e14fa15d7c68b177f31b9e2348d62c52cf83c/u3_docker_config
make menuconfig
make prepare modules_prepare
make -j4 bzImage modules dtbs
make modules_install
cp arch/arm/boot/dts/exynos4412-odroidu3.dtb /media/boot/exynos4412-odroidu3_next.dtb
cp arch/arm/boot/zImage /media/boot/zImage_next
cp .config /boot/config-`cat include/config/kernel.release`
update-initramfs -c -k `cat include/config/kernel.release`
mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n uInitrd -d /boot/initrd.img-`cat include/config/kernel.release` /boot/uInitrd-`cat include/config/kernel.release`
cp /boot/uInitrd-`cat include/config/kernel.release` /media/boot/
cd /media/boot/
vi boot.txt
# now we have to rework the boot.txt / config
# comment out the old values and set in the new ones
# please do NOT copy blindly, you need to adjust the zImage, uInitrd and eyxnos4412***.dtb file names according to your system!
setenv initrd_high "0xffffffff"
setenv fdt_high "0xffffffff"
#setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"
setenv bootcmd "fatload mmc 0:1 0x40008000 zImage_next; fatload mmc 0:1 0x42000000 uInitrd-4.10.0-rc2-next-20170106-v7; fatload mmc 0:1 0x44000000 exynos4412-odroidu3_next.dtb; bootz 0x40008000 0x42000000 0x44000000"
#setenv bootargs "console=tty1 console=ttySAC1,115200n8 root=/dev/mmcblk0p2 rootwait ro mem=2047M"
setenv bootargs "console=tty1 console=ttySAC1,115200n8 root=/dev/mmcblk1p2 rootwait ro mem=2047M"
boot

#After you have done that, write the commands to the boot.scr file
mkimage -C none -A arm -T script -d boot.txt boot.scr
# sync and reboot and it should work
sync
reboot now

With this in mind I really upgraded my system from kernel 3.8.13 from 2015 - to the most recent 4.10.0-rc2 next Kernel 🙂

Old: Linux odroid 3.8.13.30 #1 SMP PREEMPT Fri Sep 4 23:45:57 BRT 2015 armv7l armv7l armv7l GNU/Linux
New: Linux odroid 4.10.0-rc2-next-20170106-v7 #3 SMP PREEMPT Mon Jan 9 19:17:32 CET 2017 armv7l armv7l armv7l GNU/Linux

2b.) FAN does not work, warning!
The CPU Fan does somehow not work right out of the box, so we will now enable it manually. [EDIT, with the new Kernel Config it works out of the box, but you can still decide to use this software to have a more aggressiv cooling :)]

# Fan to full speed
echo 255 > /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1
# Read out current temperature in °C
cat /sys/devices/virtual/thermal/thermal_zone0/temp

To get things working again, I forked and updated the odroidu2 fan tool. Install it via:

git clone --depth 1 https://github.com/nmaas87/odroidu2-fan-service.git
cd odroidu2-fan-service
make
# install it as upstart service, i.e. < Ubuntu 16.04
make usi
# install it as systemd, i.e. Ubuntu 16.04 / Xenial
make systemd
reboot

Useful Commands:

# Read max CPU Speed:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# Get current CPU Speed:
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
# Torrture Test:
openssl speed -multi 4

2c.) Upgrade to Xenial
As I upgraded to Xenial with do-relase-upgrade, I had some problems:

Authentication Problem:
It was not possible to authenticate some packages. This may be a transient network problem. You may want to try again later. See below for a list of unauthenticated packages. create /etc/update-manager/release-upgrades.d/unauth.cfg with

[Distro]
AllowUnauthenticated=yes

After upgrade, remove this file.
from: http://askubuntu.com/questions/425355/error-authenticating-some-packages-while-upgrade

After that, apt-get clean did not work:
apt-get clean
W: Problem unlinking the file apt-fast - Clean (21: Is a directory)

Solution was:

rm -rf /var/cache/apt/archives/apt-fast

from: http://askubuntu.com/questions/765274/error-problem-unlinking-in-apt-get-clean

2d.) MAC address changes every reboot:
One solution, which did not work, was following:

rm /etc/smsc95xx_mac_addr

from: http://forum.odroid.com/viewtopic.php?f=7&t=1070

Which worked better, was to really set the MAC address to a static value:
add in /etc/network/interfaces

auto eth0
iface eth0 inet dhcp
hwaddress ether bb:aa:ee:cc:dd:ff

from: http://forum.odroid.com/viewtopic.php?f=111&t=8198

2e.) Control the CPU speeds via cpufrequtils:

apt-get install cpufrequtils
vi /etc/default/cpufrequtils

ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED=1704000
MIN_SPEED=200000

However, I chose "performance" as GOVERNOR and a MIN_SPEED=800000

from: http://forum.odroid.com/viewtopic.php?f=65&t=2795

2f.) Install Docker
If you chose my .config with Docker enabled, you can install Docker with a fast
curl -sSL https://get.docker.com/ | sh
Thanks a lot to the Guys over at Hypriot, I took their RPi Kernel Configs as an example and merged those with the U3 Configs to get to this results. And yes, AUFS is still missing but... it is ok 😉

Additional stuff:
- Gist of my Kernel Config: https://gist.github.com/nmaas87/81818c1db9dc292a4c21125bd2602658

Following sites helped:
- https://blogs.s-osg.org/install-ubuntu-run-mainline-kernel-odroid-xu4/
- http://rtisat.blogspot.de/search/label/odroid-u3
- https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device
- http://rglinuxtech.com/?p=1622
- http://rglinuxtech.com/?p=1656
- http://forum.odroid.com/viewtopic.php?f=81&t=9342

[Logitech] R400 Presenter pairing

Warning: The R400, R600 and R700 series of presenters are attack vectors and considered harmful. While Heise made an article  that detailed that Logitech would exchange the receivers, it did actually not. They sent out a pair of incompatible C-U0014 receivers which could not be paired with R-R0004 presenters and then stopped their program, claiming only to exchange the presenter if it was under warranty, which is a security nightmare (I just tried to get the correct receiver, but Maven M. from Logitech wanted to have the receipt for the module which I obviously do not have anymore). In other words: The hardware is extremely vulnerable, Logitech accepts that it is like that but does not want to get this fixed, so I can only recommend to dispose of the presenter line and do not buy from Logitech anymore. Here is the security write up with the proof of concept to that attack: https://seclists.org/fulldisclosure/2016/Oct/60

 

Logitech claiming they only exchange the security flawed receiver if its under warranty in appeal to their recall in 2016

 

 

To pair an old R400 presenter with a new dongle (or vice versa), try to get the right dongle for your presenter version first:

As stated here, there are two versions of dongles for the presenters - and they are not interchangable:

"There are two versions of presenter receivers that can't be interchanged.

C-U0005
Use the C-U0005 receiver with these presenters:
Wireless Presenter R400 with M/N = R-R0004
Professional Presenter R700 with M/N = R-R0006
Professional Presenter R800 with M/N = R-R0003

C-U0014
Use the C-U0014 receiver with these presenters:
Wireless Presenter R400 with M/N = R-R0008
Professional Presenter R700 with M/N = R-R0010
Professional Presenter R800 with M/N = R-R0009

You can find the model number (M/N) of your presenter inside the battery compartment."

After that, download the Logitech Presenter Connection Software from here (Sorry, only Windows...), start the file and unzip the content.

Update again to this post from 2015 now in 2021: Logitech removed the links from its website, but you still can find the file on its ftp server: ftp://ftp.logitech.com/pub/techsupport/mouse/presenter_connection_zipped.exe ;).

Start the file and unzip the content.

Then, connect your dongle, find the logitech_presenter_connection.exe and start it. After that, the software will ask you to power up your presenter while holding down the to the left and to the right keys of the presenter. 3+ seconds after powering up and holding down the keys, you can release the keys, turn off the presenter again and click Ok in the software. Power on your presenter again and see if it works, if not - try the procedure again.

Update (2019): Had to update the links as they were from 2015 and have changed due to Logitech deciding to changing their design (Thanks Michael!). Also please note the R400, R700 and R800 presenters are considered insecure and the dongles are now replaced by Logitech: https://www.heise.de/security/meldung/Angreifbare-Logitech-Presenter-Hersteller-tauscht-gefaehrliche-USB-Empfaenger-aus-4423627.html

Update (2021): Had to update the download link again, thanks Christopher for asking. But I guess you need to start the software with admin rights (maybe even Win XP, Win 7 "emulation"?), I could not pair my second dongle right now, but the battery is also nearly flat, so that should be an issue.... the software as what I had back then... Maybe it helps some one 🙂

[RaspPi] Raspberry Pi and the ili9341 Display

https://www.youtube.com/watch?v=cEcIem6R4aQ

1.) Enable SPI
# remove or comment out the spi blacklist line
sudo nano /etc/modprobe.d/raspi-blacklist.conf

2.) Install
a) FBTFT drivers as loadable modules
sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update
sudo shutdown -r now

OR

b) FBTFT drivers built into the kernel proper
sudo REPO_URI=https://github.com/notro/rpi-firmware BRANCH=builtin rpi-update
sudo shutdown -r now

3.) Install the frame buffer driver (as root):
apt-get install xserver-xorg-video-fbdev

4.) Configure frame buffer driver:
sudo vi /usr/share/X11/xorg.conf.d/99-fbdev.conf
Section "Device"
Identifier "myfb"
Driver "fbdev"
Option "fbdev" "/dev/fb1"
EndSection

5.) add Autostart:
( the gpios= Pins need to be changed to YOUR specification and connection! )
sudo vi /etc/modules
fbtft_device custom name=tm022hdh26 gpios=reset:25,led:23,dc:24 rotate=90 bgr=1
#on my selfbuild shield
#from usb -> sd card laengs
#fbtft_device custom name=tm022hdh26 gpios=reset:25,led:23,dc:24 rotate=180 bgr=1
#from cinch -> hdmi quer
#fbtft_device custom name=tm022hdh26 gpios=reset:25,led:23,dc:24 rotate=270 bgr=1

6.) add Auto login:
sudo vi /etc/inittab
#1:2345:respawn:/sbin/getty --noclear 38400 tty1
1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1

7.) add Autostart X:
sudo vi /etc/rc.local
su -l pi -c "env FRAMEBUFFER=/dev/fb1 startx &"

8.) Console at boot
Add kernel argument to file /boot/cmdline.txt
fbcon=map:10

Infos taken from:
https://github.com/notro/fbtft/wiki#install
http://marcosgildavid.blogspot.de/2014/02/getting-ili9341-spi-screen-working-on.html

Video was played with this worm-of-a-command-string:
sudo mplayer -nolirc -vo fbdev2:/dev/fb1 -fs -x 320 -y 240 -zoom -framedrop -lavdopts lowres=1:fast:skiploopfilter=all ~/BadApple.avi

[RaspPi] Really poor mans DS18B20 Temperature Sensor

As I had to quickly come up with two DS18B20 Sensors for the Raspberry Pi, I decided to built them "quick and dirty" without any breadboard. It is not the most beautiful nor the best way, but it works out quite well. With one exception: It seems like the sensor is too near to the Pi and picks up heat from it :/. Anyway, here are some photos:

2014-03-24 15.22.32
That is how it would look like later.

2014-03-24 15.26.00
Adding some female header to the base. We need 5 Pins for that. The first pin is going to be connected to 3,3V, the fourth to the GPIO Pin 4 and the fifth to ground. So just cut the pins 2 and 3 from that header.

2014-03-24 15.26.21
Add an resistor to pull the Data Pin high to 3,3V. You should use an 4,7k Ohm, but anything between 4,7k - 10k Ohm should work out. I used an 10k Ohm here.

2014-03-24 15.27.08
Solder the two pins of the resistor to Pin 1 and Pin 4. Do NOT short with Pin 5!

2014-03-24 15.27.48
Add some silver wire to the fifth Pin.

2014-03-24 15.31.24
Solder the DS18B20 to the Pins. Watch out for the curved side of the Sensor, it has to face upwards!

2014-03-25 07.49.59
I choose to secure the whole sensor against short circuits and stuff with hot glue. Looks ugly, but does the trick.

2014-03-25 07.50.28
Last thing is installing the sensor in the left upper corner of the GPIO Pins of your Raspberry Pi.

After booting you have to activate the One Wire protocol like this:
sudo modprobe w1-gpio
sudo modprobe w1-therm

Then you can read your sensor by using this command:
cat /sys/bus/w1/devices/28*/w1_slave

If you want to get your reading nicely formatted, you should install bc with
sudo apt-get install bc

and use this code:
echo "`cat /sys/bus/w1/devices/28*/w1_slave | grep t | cut -d= -f2`/1000" | bc -l | awk '{printf "%.2f \n", $1}'

[Win7] Asus EEEPC 1015PN: Getting Optimus working (again) on Windows 7 Pro

Optimus is a really nice concept: Having installed an low-power Intel GMA3150 next to an "high-end" (compared to the Intel ;)) NVIDIA ION2 with 512 MB RAM (and CUDA!) is very nice - switching between both cards on the fly depending on the application - awesome. But getting it to work can be quite painful. I had to reinstall the drivers on my EEE PC and got it wrong. And now that it is working, I just want to write it down. Just in case, you never know ;)!

1.) Get Windows 7 Pro or better installed
2.) Get all the Updates on your system
3.) Install and start the GraphicsSwitch for Windows 7 from Asus for your EEEPC 1015PN
4.) Choose Optimus Mode and reboot your system.
5.) Install the Intel Driver. Latest and working version is the GMA3150 15.12.75.50.7.2230
You can download that here: https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=19494&lang=eng&wapkw=gma+3150 After that, reboot!
6.) Install the Nvidia Driver. Latest and working version (for me) is the Verde 301.42 driver. You get that here: http://www.nvidia.com/download/driverResults.aspx/44972/en-us - Could be that a newer version does work to, but thats what I came up with after trying a lot of different versions. After installing, reboot.
7.) You should be done. Right-click on your Desktop, choose NVIDIA Systemsettings. In these settings you can enable two cool options from the "Desktop" menu:
a.) "Start with graphics processor to context menu" - with right click on an Application you can choose to start that program with your highend gpu
b.) "Show Actitivy Symbol in Infobar" - that does show you whenever the GPU is working on something. And if that symbol does not show up some boots later - well, that mostly says that some update broke your Optimus Setup.

But by now, I think you know how to get that up and running again! 🙂

HTC Universal

I found a "bricked" HTC Universal without - everything.
So I decided to piece it back together.
First thing to find was an USB Cable to recharge the battery.
Working is an normal Mini USB Cable, even tough the connector looks different.

After that, I found out that the HTC was a brick.
So to unbrick:

get mtty1.42.exe, enter bootloader mode , (Power + Light Bulb + Reset)

1. Stop Activesync USB connection
2. Uni : Reboot Bootloader then Connect USB
3. PC : Run mtty1.42.exe
4. Choose USB in "Port" (Reconnect if can't find/reconglize USB and try remove sim and sd card)
5. type : task 28 55aa
6. Press Enter
7. Cause DOC reformatted, so there's no rom in DOC ,try reflash any rom that you like .

For task 28 55aa in mtty success , will show the message (attachment )

DONE .
( http://forum.xda-developers.com/showpost.php?p=1097645&postcount=4 )

Under Windows Vista / 7 you need to use these drivers and stuff: http://forum.xda-developers.com/showthread.php?t=313001&highlight=flashing+vista

After that, we want to upgrade to a new rom.
I choose Maxstegis German Rom ( http://rom.maxstegi.de/index.php )
You should go for Version 6: http://rom.maxstegi.de/downloads.php?view=detail&df_id=12
And the Radio Image 1.18.00: http://rom.maxstegi.de/downloads.php?view=detail&df_id=14

Go into Bootloader Mode, start the Version 6 and it will upgrade.
Do not do anything to the Radio, we will change that soon...

Get the HTC Universal Unlock Tool to unlock your SIM:
http://buzzdev.com/m/files/view/HTC-Universal-SIM-unlock

Install Instructions:
1. Backup your phone (not necessary, but advisable).
2. Remove your SD Card.
3. Enter bootloader mode on your Phone. To do this, simultaneously hold down the backlight key (“bulb” key, next to volume key), the power key and soft reset the phone. Your phone screen should clear, and you will see very faint writing saying “serial”. Let go of buttons etc.
4. Connect your phone to your computer using the USB lead.
5. Run the MaUpgradeUt_noID.exe program – this will reflash your phone with necessary software required to enable the unlocker.
6. Wait patiently.
7. Once the MaUpgradeUt_noID.exe upgrade completes, soft reset your phone by pressing the soft reset button on the back of the device [if the flash has been successfully applied, you should see that you now have Radio version 0.00.00]
8. Allow your phone to reboot. Once it has, connect to your PC using Activesync, and copy the UNI_Unlock_v1.exe program onto your phone. Alternatively, copy it to an SD card and insert into your phone.
9. Run UNI_Unlock_v1.exe on your phone. Wait patiently.
10. Once the process completes, soft reset your phone.
11. Process is (hopefully) complete!
http://forum.gsmhosting.com/vbb/archive/t-316584.html

After that, boot loader Mode, flash the new Radio Firmware, after that you can reflash the ROM aswell, so to be sure that everything worked.
Thats it!

Enable Wireless G (802.11g) Support in HTC Universal Pocket PC Phone
HTC Universal also kwown as Qtek 9000, T-Mobile MDA Pro, Orange SPV M5000, O2 Xda Exec, i-mate JASJAR, Dopod 900, Vodafone v1640, Vodafone VPA IV, E-Plus PDA IV, Grundig GR980 and etc as it’s be re-branded and marketed by different vendors and network operators. One major disappointment and weakness of HTC Universal is it’s only support 802.11b-compatible technology, and thus unable to connec to WiFi G (802.11g) network.
It’s possible to make the HTC Universal based Pocket PC phone to compatible and able to connect to 802.11g-only access points by a registry tweak, but the speed would still be the same as 802.11b (11 Mbit/s).
The registry tweak is to change and add the following registry decimal values using a registry editing tool like the PHM Registry Editor at your HTC Universal based Pocket PC:

HKEY_LOCAL_MACHINE\COMM\TIACXWLN1\PARMS: dot11SupportedRateMask=1
HKEY_LOCAL_MACHINE\COMM\TIACXWLN1\PARMS: dot11SupportedRateMaskG=8

After adding and editing above registry key, soft-reset the device.
( http://www.mydigitallife.info/2006/08/01/enable-wireless-g-80211g-support-in-htc-universal-pocket-pc-phone/ )

If you ever need to hardreset your Device, press the two "-" Buttons on the Keyboard and the Reset Button while the Device is turned on. A screen will come up and ask for the reset, press... o to confirm.

Additional Tutorials: http://forum.xda-developers.com/showthread.php?t=549207

[Win7] ATI HD6870 + Mjölnir 1

I recently bought an ATI HD6870, replacing my old and very noisy and hot HD2900XT+.
As far as it seems it was an really good idea, as the new graphics is just awesome in performance and price (~180€).
By the way, I would recommend the Sapphire "Not-Reference" Model which comes with an special cooler - and is damn quiet.

And another thing: ATI brought out an Preview of the new 11.4 Driver called "Mjölnir 1" which does improve overall performance.
Its not stable yet, but maybe you want to check it out: http://support.amd.com/us/kbarticles/Pages/Catalyst114earlypreview.aspx
( Windows 7, Vista Only )

Webconverger - Build your own Internetcafé

- Install Debian
- Add following lines to /etc/apt/sources.list :
deb http://live.debian.net/ sid-snapshots main contrib non-free

deb-src http://live.debian.net/ sid-snapshots main contrib non-free
- apt-get install live-helper git git-core svn sudo
- mkdir /home/webconverger
- cd /home/webconverger
- git clone git://git.debian.org/git/debian-live/config-webc.git
- modify /home/webconverger/config-webc/webconverger/auto/config
( i.e. change
homepage=http://portal.webconverger.com to the one you want,
add Kioskrest every 10 Minutes after last use:
kioskresetstation=10
change bootlogo
change website to the one you want and add an bg.png to the account,
otherwise add noxbg to the boot to make the background blank )
- cd /home/webconverger/config-webc/webconverger
- lh config
- lh build
- /home/webconverger/config-webc/webconverger/binary-hybrid.iso

Clean to rebuild:
- cd /home/webconverger/config-webc/webconverger
- lh clean --purge