This is an old revision of the document!


startSectionEdit: $data "plugin_wrap_start" is NOT an array! One of your plugins needs an update.
startSectionEdit: $data "plugin_wrap_end" is NOT an array! One of your plugins needs an update.
startSectionEdit: $data "plugin_wrap_start" is NOT an array! One of your plugins needs an update.
startSectionEdit: $data "plugin_wrap_end" is NOT an array! One of your plugins needs an update.

Piratebox on the Zsun

Like many of us have read the article on slashdot about the Openwrt capabilities of the Zsun Wifi card Reader. The idea of having PirateBox running on the smallest device yet made me order one from China. After many hours of installing, troubleshooting, resetting e.d. I now have a complete working Piratebox installation. I would like to share my installation scripts in order to let you install your own.

OpenWrt (15.05 “Chaos Calmer”) and PirateBox (1.0.7) were used in the making of this tutorial.

DISCLAIMER: NOBODY will take responsibility or be liable for anything you do to your zsun. If you brick it trying these procedures, YOU are solely responsible for your actions. YOU HAVE BEEN WARNED.

0. PreSetup

  • Having a Zsun running OpenWrt. I've used the hackerspace.pl method.
  • microSD card
  • Root password set.
  • Change the default uhhtpd (LuCI) ports to 9080 and 9443.
#uhttpd config
uci set uhttpd.main.listen_http=9080
uci set uhttpd.main.listen_https=9443
uci commit
  • Get internet working on the zsun.
#wireless config
uci set wireless.radio0.channel=auto
uci set wireless.radio0.txpower=18
uci set wireless.radio0.country=00
uci set wireless.radio0.disabled=0
uci add wireless wifi-iface
uci set wireless.@wifi-iface[-1].device=radio0
uci set wireless.@wifi-iface[-1].ssid='your Wifi name'
uci set wireless.@wifi-iface[-1].mode=sta
uci set wireless.@wifi-iface[-1].network=wwan
uci set wireless.@wifi-iface[-1].encryption=psk2
uci set wireless.@wifi-iface[-1].key='yourSuperSecurePass'
uci set wireless.@wifi-iface[-1].disabled=0
uci commit		
 
#netwerk interface config
uci set network.wwan=interface
uci set network.wwan.proto=dhcp
uci commit
 
#firewall config
uci set firewall.@zone[1].network='wan wan6 wwan'
uci commit
 
#reload new config
/etc/init.d/network reload && /etc/init.d/firewall reload && wifi
  • Reconnect to OpenWRT

An additional wireless connection with your own WiFi is made in 'sta' mode. Because OpenWrt (and PirateBox) are using the IP Address: 192.168.1.1 and Netmask: 255.255.255.0 (= /24) the network (WiFi) you are connecting to can't use the same netmask.

  • Verify your internet connection using
ping google.com
opkg update

1. Setup Mounts

  • Format sdcard to ext4
opkg update && opkg install -d ram e2fsprogs 
export LD_LIBRARY_PATH='/lib:/usr/lib:/tmp/lib:/tmp/usr/lib'
export PATH="$PATH:/tmp/bin:/tmp/sbin:/usr/sbin"
/tmp/usr/sbin/mkfs.ext4 /dev/sda1
mkdir /mnt/ext
mkdir /mnt/usb
mkdir /mnt/sda1 
mount /dev/sda1 /mnt/sda1
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -
uci add fstab mount
uci set fstab.@mount[-1].target=/overlay
uci set fstab.@mount[-1].device=/dev/sda1
uci set fstab.@mount[-1].fstype=ext4
uci set fstab.@mount[-1].options=rw,sync
uci set fstab.@mount[-1].enabled=1
uci set fstab.@mount[-1].enabled_fsck=0
uci commit
reboot
  • Reconnect to OpenWRT

2. Setup extendRoot and Piratebox

echo "src/gz piratebox http://stable.openwrt.piratebox.de/all/packages" >> /etc/opkg.conf
sed 's|option check_signature 1||g' -i /etc/opkg.conf
opkg update
opkg install extendRoot
sed -i 's|ext_linktarget="/usr/local"|ext_linktarget=""|g'  /etc/ext.config
opkg install piratebox
  • Connection will be closed, reconnect to ssid piratebox with fixed ip on client pc.
    • IP: 192.168.1.2
    • GW: 192.168.1.1
  • finish install with:
/etc/init.d/lighttpd stop
/etc/init.d/lighttpd disable
sed -i 's|/dev/loop1|/dev/loop0|g' /usr/share/piratebox/piratebox.common
/etc/init.d/piratebox init
/etc/init.d/piratebox start
chmod a+w /opt/piratebox/share/tmp
/etc/init.d/piratebox enable
reboot

Install Imageboard

  • This is a password YOU set.
opkg install piratebox-mod-imageboard
/opt/piratebox/bin/board-autoconf.sh

Install Minidlna

opkg update
opkg install minidlna
cp /opt/piratebox/src/openwrt.example.minidlna /etc/config/minidlna
/etc/init.d/minidlna start
/etc/init.d/minidlna enable

Enable LuCI and Turn off Internet connection

/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable
uci set wireless.@wifi-iface[1].disabled=1
uci commit

All done!

reboot
  • Return your Client PC back to its original IP settings.

Credits

  • Matthias - for the Piratebox Project and updated code.
  • meduza - for the majority of the scripting for the Zsun.
  • stylesuxx - for the wifi configuration and troubleshooting.
  • TheExpertNoob - for troubleshooting and this wiki guide.

If I forgot anyone else, PM me.