This how-to assumes that you have a working Debian installation on a USB drive. If not check Jeff’s site on how to install debian Squeeze on the GoFlex Net.
Once you have installed debian and have verified everything is working fine, we can go ahead with the modifications. It would be a good idea to configure netconsole so that you can monitor and make changes to uBoot if there is any problem. The steps are described in detail here.
The default kernel installed doesn’t have support for the GoFlex Net SATA ports. So we are going to replace it with a newer and updated kernel.
Now we will download and install the updated kernel.
wget http://www.varkey.in/files/linux-image-220.127.116.11-goflex_1.0_armel.deb dpkg -i linux-image-18.104.22.168-goflex_1.0_armel.deb cd /boot # Create the images for uBoot /usr/bin/mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-22.214.171.124 -d /boot/vmlinuz-126.96.36.199-goflex /boot/uImage /usr/bin/mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /boot/initrd.img-188.8.131.52-goflex /boot/uInitrd
After that reboot GoFlex Net and ‘uname –r’ should show ‘184.108.40.206-goflex’ if the kernel installation was successful. Once you have made sure it’s the updated kernel we can update uBoot environment to the new GoFlex Arch Number to enable the SATA ports.
setenv arcNumber 3089
Reboot again and check the output of ‘dmesg’, it should show something like this
[ 1.068182] sata_mv sata_mv.0: version 1.28 [ 1.072505] sata_mv sata_mv.0: slots 32 ports 2 [ 1.079814] scsi0 : sata_mv [ 1.083250] scsi1 : sata_mv [ 1.086582] ata1: SATA max UDMA/133 irq 21 [ 1.090697] ata2: SATA max UDMA/133 irq 21
Now you can modify the uBoot environment again to make it boot from a SATA drive.
fw_setenv sata_boot 'ide reset; mw 0x800000 0 1; ext2load ide 0:1 0x800000 /boot/uImage; if ext2load ide 0:1 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi' fw_setenv sata_bootcmd 'run usb_set_bootargs; run sata_boot' fw_setenv bootcmd 'usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run sata_bootcmd; run rescue_bootcmd; run pogo_bootcmd; reset'
Shutdown the GoFlex Net, connect the hard disk to the *right* side SATA port. There seems to be a bug in Jeff’s uBoot for GoFlex Net, so within uBoot only the right port works. That would be all and the GoFlex Net should now boot from the attached SATA disk.
Here are the logs from a successful SATA boot.
And my uBoot environment settings as well.
If you do not have a GoFlex Hard Disk, you can attach an external eSata disk to the GoFlex Net using these cables.
If you are having any trouble setting this up, leave a comment.
This how-to explains how to configure a Seagate Dockstar running Debian to establish a 3G connection using a USB data card like the Huawei E122 / UMG181 etc and configure it to act as a gateway so that the internet can be shared with the other devices connected to the network.
You need to have a Dockstar running Debian, if not check Jeff’s site on how to install Debian on your Seagate Dockstar.
Configuring the USB Modem and PPP Dialler
First install the following packages using apt-get
apt-get install usb-modeswitch usb-modeswitch-data ppp
After that connect your 3G USB modem, and wait for few seconds. After that give the command ‘dmesg’ and check if you can see something like this
option 1-1.4:1.0: GSM modem (1-port) converter detected
usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1.4:1.1: GSM modem (1-port) converter detected
usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1.4:1.2: GSM modem (1-port) converter detected
usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
option 1-1.4:1.5: GSM modem (1-port) converter detected
usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB3
If you see similar lines saying ‘modem attached to ttyUSBx’, then the USB modem is detected fine.
Now edit the file ‘/etc/ppp/peers/provider’ and replace its contents with the following
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/dev/ttyUSB0 modem crtscts noauth defaultroute noipdefault nopcomp noaccomp novj nobsdcomp holdoff 10 usepeerdns persist lcp-echo-failure 2 lcp-echo-interval 5 nodeflate maxfail 0 debug connect "/usr/sbin/chat -v -f /etc/chatscripts/BSNL3G"
After that edit the file ‘/etc/chatscripts/BSNL3G’ and replace its contents with the following
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
ABORT 'BUSY' ABORT 'NO CARRIER' ABORT 'VOICE' ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT 'DELAYED' REPORT CONNECT TIMEOUT 10 '' 'ATZ' 'OK-AT-OK' 'ATZ' TIMEOUT 10 #'OK' 'ATZ' #'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2' OK AT\^SYSCFG=14,2,2780380,0,1 'OK' 'AT+CGDCONT=1,"IP","bsnlnet"' 'OK' 'ATDT*99#' TIMEOUT 30 CONNECT ''
Now if everything works as expected you should be able to connect by giving the command ‘pon‘. Try pinging Google.com to verify if the internet is working. You can disconnect by giving the command ‘poff’
To make the dock connect to the internet automatically on start-up, append the following to the ‘/etc/network/interfaces’ file
1 2 3
auto ppp0 iface ppp0 inet ppp provider provider
Reboot the Dockstar to verify if everything is working fine.
Configuring the Dockstar to act as a Gateway
If you do not have iptables installed, install it with the following command
apt-get install iptables
Now edit ‘/etc/sysctl.conf’ and change the line that says ‘net.ipv4.ip_forward = 0′ to ‘net.ipv4.ip_forward = 1′ and also make sure that the line is uncommented.
After that execute the following commands
1 2 3
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE /sbin/iptables -A FORWARD -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
Now we need to get these rules loaded at boot time, for that follow the steps below
iptables-save > /etc/firewall.conf
Edit the file ‘/etc/network/if-up.d/iptables’ and add the following
#!/bin/sh iptables-restore < /etc/firewall.conf
Next step is to make the file executable
chmod +x /etc/network/if-up.d/iptables
That’s it, now your Seagate Dockstar will act as a gateway and you can share your 3G internet connection with the other devices on your network. Make sure you manually set the Gateway IP address to that of the Dockstar in each device.
If there is any problem leave a comment.