WELCOME to My Netwinder Page

 

I decided to get my Netwinder going again. This page will document my journey to bring my Netwinder to the 21st Century. Read on and thanks for stopping by.
 

The quest for PPPoE (aka PPPoE or Bust)



My poor neglected Netwinder (Model: NW644DM1.1) has sat on my desk with its green front led off for more months than I can remember. I purchased it back in Oct 1998 after seeing it at the Atlanta Linux Enthusiasts (ALE http://www.ale.org/) show. I didn't develop anything on it as I intended to. I successfully upgraded the NeTTrom (firmware, flash memory, etc.) to 2.0.4 and the kernel to 2.0.31 without a problem. I easily integrated the NW into my local network. It was up and running and connected to the internet! Due to other projects, it got put on the back burner. And then it blended into the landscape of my desk where it collected dust bunnies. Its nearest companions were the Netgear switch, Netgear ISDN router, and the Belkin KVM. And then the green led was turned off.


I was still following what was happening on netwinder.org from time to time. And I still had the newsgroups at netwinder.org loaded in my Netscape Communicator. So I knew what had been going on in the NW world (the ARM was gone and Crusoe had arrived).


Several factors helped breath new life into my NW. Number one was the acquisition of a Sharp Zarus SL-5000D which is an ARM ( SA-1110 206MHz) based PDA that is running Linux 2.4 (Embedix). Number two was the recent installation of DSL at my house. DSL was in and ISDN was out. The cost of having an ISDN line and an internet dialup account was no match for the cost of the DSL service which included an internet account. As I write this (March 2002), the green led of my NW is on again (the off ISDN router will soon be put into storage)! <insert pic here> It is hard to keep a good machine down.


Getting the NW up and networked again


Red Hat Linux Revision 4.2

1.1d Netwinder Disk image

Kernel 2.0.31 on a SA110


netwinder login:



While the NW booted up okay, a few things had to be done. The IP addresses of my network had changed while my NW had been out of the loop. Good thing I remembered the root password and was able to login in.


1. Changed the IP address of the NW and the gateway address.


/etc/sysconfig/network contains the machine name and the gateway address.


The program nwconfig would be the easiest way to assign an IP. If it isn't present, you have to edit

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts/ifcfg-eth1


This directory contains the configuration files for the ethernet ports.

/etc/sysconfig/network-scripts

Change the ip address here.
ifcfg-eth0 & ifcfg-eth1


Created a directory called save in /etc/sysconfig/network-scripts and copied the existing files in the directory to the new subdirectory called save.


* stop any running ethernet devices

cd /etc/sysconfig/network-scripts

./ifdown ifcfg-eth0

./ifdown ifcfg-eth1


* Modify /etc/sysconfig/network

* Modify the /etc/sysconfig/network-scripts/ifcfg-eth0

* restart network

/etc/rc.d/init.d/network restart (didn't work, only {stop|start} allowed)

Tried this


/etc/rc.d/init.d/network stop

/etc/rc.d/init.d/network start (tulip error)


Then I had to do a reboot.


dmesg lists all the kernel messages since and during boot time (pipe it to more to see all).



* see if ethernet devices are running

ifconfig

* restart ethernet devices if necessary

./ifup ifcfg-eth0

./ifup ifcfg-eth1


* tested network with a ping.



The tulip (10/100 ethernet) had a problem and wouldn't come up. This was probably due to the old and incompatible files that I have. I guess I will have to get along with 10 Mbps until I can upgrade the NW to a later kernel, nettrom, and disk image.




Gathering information about my NW.


My NetWinder info:


NetWInder 275

Model: NW644DM1.1


Red Hat Linux Revision 4.2

1.1d Netwinder Disk image

Kernel 2.0.31 on a SA110


Using cat /proc/cpuinfo should get the Motherboard revision number.


CPU:

Type : sa100

Revision : 0

Manufacturer : DEC

32bit modes : yes

BogoMips : 298.19


Not a valid revision number. So the 1.1 at the end of the model number NW644DM1.1 tells me it is a revision 5 motherboard.


Current kernel is /boot/vmlinux


I made a copy of the kernel and called it vmlinux-2.0.31-19980629


This should be enough info to get me started. I also downloaded the HOWTOs from the netwinder site. I wasn't sure if the copies that I had were out of date.



Looking for the latest Kernel and Nettrom


After looking on netwinder.org site and emailing Ralph Siemsen, I figured I should get the 2.2.17 kernel and 2.3.3 firmware. I downloaded them and tried to RPM the kernel and headers wit RPM (rpm -ivh kernel-2.....). I couldn't do it. I got an error saying "Data type 9 not supprted ". I post a message on the netwinder.org support newsgroup for help. My version of RPM was not compatible with the rpm files (which I suspected). The kernel that I downloaded is meant to be for the dm-3.9 disk image. I have the dm-1.1 disk image which is ancient history. The Disk Images page (http://www.netwinder.org/~ralphs/diskimage.html) mentions that these disks should be thrown out because of many problems (which have been fixed with later images). Well that tells me that my current disk image needs to be updated. I was planning to do that after I upgraded the kernel and firmware to the latest stable versions. I asked if there were any older vmlinux kernels out there that I could use without doing a RPM. Yes there were and I located them.



Incremental Update?


After looking at the Disk Images page, I figured that I could use the 2.1.7 firmware and the 2.0.35 kernel. If I could find a compatible disk image, I would use that. I was interested in the dm-2.1-13 disk image. I didn't see it on the site, so I posted another message on the support newsgroup. I asked if it was possible to get that image and a few other questions. The answer that I got from Ralph was "Yes, but it involves searching through boxes of old CD's... If you're going to update to 2.0.6 or greater, you might as well go to 2.3.3. I will happily make you tarball with the necessary binaries - which version would you like? I think a 2.2.x series kernel would be safest.". I replied back and said that a tarball of a 2.2.x series kernel would be good. Make the one he thinks would be good for me. Then I could use the dm-3.9-28 disk image.



The pieces are in place


Ralph very quickly came through as promised. I downloaded the tarbell he created for me. And so with the tarbells in hand and a copy of the HOWTOs, I set off to bring my NW to the 21st century. And with the following commands, the kernel was updated:


$cd /

$gunzip -cd /root/download/kern2.2.19martin.tar.gz | tar xvf -

$



To extract tar.Z files on UNIX systems, do:


zcat file.tar.Z | tar xvf -


Files with extension tar.gz or .tgz are tar files compressed with gzip. On UNIX extract them with:


gunzip < file.tar.gz | tar xvf -

gunzip < file.tgz | tar xvf -


If you have GNU tar you can use the z option directly:


gtar xvzf file.tar.gz

gtar xvzf file.tgz


Or do it all with tar:


tar zxpf file.tar.gz


Now I had to flash the firmware. And from the Firmware-HOWTO, I did:


$insmod flash

$flashwrite -base64 nettrom-2.3.3.bin 0

$


And it was finished flashing. I didn't have nwflash, so I had to use flash as per the HOWTO. And then I had to reboot. I hope it worked! It did and I saw the new nettrom screen with the new firmware version. I aborted the autoboot and went into the firmware to set the appropriate environment variables. And I made sure that kernfile was set to /boot/vmlinux-2.2.19. The kerndev and rootdev were set to /dev/hda2. 4

I saved all and then booted. It came up:


Red Hat Linux Revision 4.2

1.1d Netwinder Disk image

Kernel 2.2.19 on an armv4l


I am almost there. Now to upgrade that old 1.1d disk image.



A new Image for the Netwinder


I downloaded the dm-3.9-28 disk image files from the ftp mirror site in Boston, MA. Good thing I have DSL, it would have been painful at 64k. Now why are there two image files for 3.9-28? So what is the difference between base-3.9-28.tar.gz and dm-3.9-28.tar.gz? According to Sean MacLennan, "The base image is a minimal install; the dm image is a full install. You probably want the dm image only. I use the base image only if I am creating a special purpose machine. (e.g. For a webserver only machine you might install the base and then apache only.)."

Now where is that Disk-Update-HOWTO. Here it is. I think I better read it over carefully before I attempt anything.


Okay, let's check out the partitions on my hard drive. Hmm, fdisk doesn't seem to be on the drive anywhere. Let me post a question on netwinder support. Andrew E. Mileski said, "Try pfdisk .... fdisk didn't work at first, and we had to use a fake disk geometry.". I found pfdisk in /sbin and that told me that I had the four partitions with file systems on them (3 ext2s and 1 swap). So I had /dev/hda1 for the boot partition, /dev/hda2 for the root partition (/), /dev/hda3 for the swap, and /dev/hda4 for the rescue partition. I will make /dev/hda4 my new root partition. After that goes well I will make /dev/hda2 the rescue partition.


I looked in /etc/fstab and saw that /dev/hda4 was set to noauto. I removed the noauto and then rebooted. Wow, 3G of prime real estate! I will probably get a new drive for my NW later, but I will go with this for now. I created a mnt directory under /mnt/hda4. And then I created a hda2 directory under that (/mnt/hda4/mnt/hda2). This will be the rescue partition.


I copied the kernel and disk image tarbells over to /dev/hda4. And then I expand them:


tar zxpf kern2.2.19martin.tar.gz

tar zxpf dm-3.9-28.tar.gz


This will take a little while for the dm image file.


I made a backup copy of the new fstab file on /mnt/hda4/etc. And I copied the /etc/fstab file to /mnt/hda4/etc and changed the mount point to reflect that /dev/hda4 will be mounted to / and /dev/hda2 will be mounted to /mnt/hda2. I might change this to noauto later. I also added the line for /dev/ptsi that the new fstab file had. Now I will reboot and go into the firmware and change the environment variables kerndev and rootdev to point to /dev/hda4.


Alright! I successfully boot into /dev/hda4 and what do I see:


*********************************

Put new Signon here


*********************************


I go into x-windows with startx. And it came up with Gnome. I Change the desktop to KDE. Netscape doesn't work. I will have to ask about that.


????????????????????

What is wrong with Netscape?


Answer "Netscape never released an ARM version (they did get close, we had a

"Trial" version, but it was never finished and very buggy). So there

is no Netscape. "


"OTOH there are a number of other browsers. Seam Maclennan had a good

roundup on his homepage, www.netwinder.org/~seanm."

?????????????/??????


Now I will have to set the network stuff again. I set the network up like I did before. I tried to ping a computer on the network and it was no go (connect: Network is unreachable). I rebooted and pointed back to /dev/hda2 and the network was reachable. And then I rebooted back to /dev/hda4 and I couldn't get out. I better ask the experts here and see what they say.


???????????????? HELP???????????????????????????????

???????????????? HELP???????????????????????????????

???????????????? HELP???????????????????????????????



Ok, let's try this. Boot back to /dev/hda2 and clear out the files on /dev/hda4 and put the kernel and the base tarbells and try to configure the network. Let's give it a shot. I do that. Set the network (on /dev/hda4). Fix /etc/fstab (on /dev/hda4). And reboot. I do a ping and I get out. 5out/5in 0% packet loss.


So what is broken in the DM-3.9-28 for me?


???????????????? HELP???????????????????????????????

???????????????? HELP???????????????????????????????

???????????????? HELP???????????????????????????????


Let's see what is wrong with the dm-3.9-28. I will reinstall it on /dev/hda4 and collect some data. Get the output from "ifconfig" and "route -n", and the contents of /etc/resolv.conf. That should help to pinpoint the problem. But first I will remove the base-3.9-28 files.


Well I put the dm-3.9-28 image back on and use nwconfig to set the network. I then tried to ping out and it worked! I probably messed up something in the ethernet configuration files. Thanks again Ralph for helping me out. Ralph also wrote nwconfig.


Getting the 10/100 Tulip running and configured


I am having a problem upgrading the tulip, I can't get it to work. Also what does "Tulip card SROM needs to be programmed” mean? I get that in the minikernel bootup, just before I go into nettrom.). I tried following the FAQ, but it didn't work.


[root@netwinder /download]# insmod -f tulip_upgd-2.2.o

Warning: kernel-module version mismatch

tulip_upgd-2.2.o was compiled for kernel version 2.2.12

while this kernel is version 2.2.19

tulip_upgd-2.2.o: unresolved symbol system_serial_num


Ralph said “I would suggest, temporarily using an older kernel so that you can do the tulip "upgrade". On the ftp site, pub/netwinder/kernel/binary/zImage-2.2.13-20000121 should do the trick. You might need to boot with "noinitrd" on the kernel command line, if it complains about an invalid ramdisk. (Firmware bug)."


Okay, I got the 2.2.13 kernel image. And in the firmware:


setenv kernfile /boot/vmlinux-2.2.13

setenv cmdappend noinitrd

save-all

boot


But still it doesn't work:


Warning: kernel-module version mismatch

tulip_upgd-2.2.o was compiled for kernel version 2.2.12

while this kernel is version 2.2.13-200000121


Ralph mentioned that Woody had the source for the mixer, so I went to look for it. While there I saw that he had an image for 2.2.12. Hmm… Well let's download it and try it with the tulip_upgd-2.2.o, it might work.


Well, it is closer (I think). This time I am getting a Hint. When it tries to

bring up eth1:


---------------------------------------------------------------------

Bringing up interface eth1 insmod: Hint insmod errors can be caused by

incorrect module parameters, including invalid IO or IRQ parameters.


Delaying eth1 initialization.


---------------------------------------------------------------------


What now? Ralph suggested get kernel 2.0.35 and trying to use the tulip_upgd.o for the pre 2.2 kernels.


It goes from bad to worse! It can't boot up, it keeps saying:


INIT: ID "1" respawning too fast: disabled for 5 minutes.

INIT: ID "2" respawning too fast: disabled for 5 minutes.

INIT: ID "3" respawning too fast: disabled for 5 minutes.

INIT: ID "4" respawning too fast: disabled for 5 minutes.

INIT: ID "5" respawning too fast: disabled for 5 minutes.

INIT: ID "6" respawning too fast: disabled for 5 minutes.


Over and over. No good. I also went to Donald Becker's site to check on Linux Network Drivers. From the source of the tulip_upgd (modified for the Netwinder by Woody), I noticed Becker wrote the original Tulip (& others) network drivers. Becker isn't at Goddard anymore; his new site (and company) is http://www.scyld.com. The network stuff is at http://www.scyld.com/network/ . Tulip specific info is at http://www.scyld.com/network/tulip.html . I found and downloaded a tulip diag program (tulip-diag.c) and tried it out:



---------------------------------------------

tulip-diag.c:v2.10 3/08/2002 Donald Becker (becker@scyld.com)

http://www.scyld.com/diag/index.html

Index #1: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Index #2: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Index #3: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Index #4: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Index #5: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Index #6: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Index #7: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Index #8: Found a Digital DS21143 Tulip adapter at 0x400.

Port selection is 10mpbs-serial, full-duplex.

Transmit stopped, Receive stopped, full-duplex.

The Rx process state is 'Stopped'.

The Tx process state is 'Stopped'.

The transmit threshold is 72.

The NWay status register is 000000c6.

WARNING: The EEPROM is missing or erased!

Internal autonegotiation state is 'Autonegotiation disabled'.

Use '-a' or '-aa' to show device registers,

'-e' to show EEPROM contents, -ee for parsed contents,

or '-m' or '-mm' to show MII management registers.

---------------------------------------------


I gave that info to Ralph.



Exactly what is supposed to happen with the tulip? According to Ralph, "When you load the tulip_upgd module, it should quietly go and program the EEPROM chip (with the MAC address). Then, according to the specs, you are supposed to reboot the machine (tulip needs hardware reset). After that the firmware should stop complaining, and eth1 port should operate "normally". But in your case this isn't happening, and you also didn't see the confirmation message that tulip_upgd prints. So I suspect the tulip_upgd didn't do its job, though I cannot explain why that would be."


Ralph offers to take a look and asks if there is any way I can get the machine online... using eth0 for example... so that he can use SSH to log on, just temporarily... I will see what I can do. My connection to the internet is through my LinkSys Cable/DSL router. I can use its port forwarding capability to forward port 22 (for ssh) to my netwinder. And now I will check if sshd is running and if it isn't I will start it (/etc/rc.d/init.d/sshd start). It isn't running, so I start it. I try to ssh in from another machine on my network and I get in. I send an email to Ralph and tell him to go ahead. I also give him my current dynamic IP address. He is able to get it and tries a few things.


Ralph says:


--------------------------------------

Okay, some progress...


I downloaded the tulip-upgd modules to /root

Of course, they cannot be insmod'ed as you already found.


I copied tulip-upgd-2.2.o to test.o, then did a little black magic with

a hex editor. Now you can load test.o with the -f option, eg.

insmod -f test.o


After doing this, I looked in dmesg to see what happened:


Upgrading board serial #: 2293...

read_eeprom:

ffff ffff ffff ffff ffff ffff ffff ffff

ffff ffff ffff ffff ffff ffff ffff ffff

ffff ffff ffff ffff ffff ffff ffff ffff

ffff ffff ffff ffff ffff ffff ffff ffff

ffff ffff ffff ffff ffff ffff ffff ffff

ffff ffff ffff ffff ffff ffff ffff ffff

ffff ffff ffff ffff ffff ffff ffff ffff

ffff ffff ffff ffff ffff ffff ffff ffff

Done OK...



The last line is deceptive... so it did run the module, "Upgrading

board serial #: 2293...".


Then it tried to read back the eeprom, and it got all ffff's, which is

bad - that means it didn't get programmed. Or it isn't able to read

it.


I will ask Woody about what could cause this to happen - he wrote the

code in question... stay tuned :)


-R

--------------------------------------


I say the message "Upgrading board serial #: 2293...". show up on the console. Let's wait to hear what Woody has to say.


Wait...........

Wait...........

Wait...........


Ralph logs on to my machine to check something else. He says:


"Okay, I've gotten the next round of information using Woody’s debug

program. I'll see what he says; my first guess is that one of the data

bits isn't connected (it seems to be reading 1 all the time). Which

might imply one pin not connected properly - how are your soldering

skills?"


I hope it doesn't come to that! My soldering skills are kind of rusty. I will have to look for my solder and iron. We will wait for what Woody has to say.


Wait...........

Wait...........

Wait...........


Replacing a broken10/100 Tulip



I was told to check the tulip chip on the daughter card and see if there were any unsoldered pins. I looked as best as I could and I couldn't see any. So I was told to check with Netwinder Inc. to see if I could get a replacement. I contacted them and got in touch with David Dupuis. He said he would find me one and send it to me. All I would have to pay for is the postage. Good deal! I gave him my address info and my FedEx number. I received the card in a few days. I put the new card on the mother board, reassembled the Netwinder, fired it up, and saw that eth1 came up. I brought down eth0 and pinged out to another computer on my network and I was getting 0% packet loss through eth1.


And as suggested by Ralph, I should do the tulip_upgd thing, so that the MAC address matches my eth0 address.. So I booted to the 2.2.12 kernel and did: insmod -f tulip_upgd-2.2.o . Then I reboot back to the 2.2.19 kernel.


> Tell me if this sounds okay. I am going to have the 10/100 address set

> to 192.168.0.19 and the 10 address be auto set via PPoE (when I get it

> working). The NetWinder is going to be my DSL router/firewall. I am

> going to use ipforwarding.


This setup is fine, but note that using PPoE, you won't actually be

setting the eth0 address to anything - PPPoE interface will pick up the

address for you. You should in fact not configure eth0 (though in

practice it doesn't seem to matter).


You'll want to look at the so called "routing table". The command is

"route -n". You will see two lines for each interface you have

configured, and then a "default gateway". If you had overlapping

addresses, then that is why you had to bring down eth0. Normally you

wouldn't need to. Its actually pretty simple algorithm, so long as you

give it reasonable inputs ;)



* Getting PPPoE working with my NW


Q: I want to get PPPoE running on my Netwinder DM which is running 2.2.19, what do I do?


A: First get the rpm file for the user space tools. You can get the in the directory pub/netwinder/RPMS/OS/2.0 and they are called pppoed-0.42-2.armv4l.rpm. Install the rpm file. Edit your /etc/sysconfig/network-scripts/ifcfg-eth0 file to look like:


-----------------------------------

DEVICE=eth0

IPADDR=0.0.0.0

NETMASK=255.0.0.0

ONBOOT=no

-----------------------------------


Next edit the /etc/rc.d/init/pppoed file and comment out the line in the start section that tries to load pppox (#SAM /sbin/modprobe pppox):

-----------------------------------

#snippet provided by Sean MacLennan


start)

ret=0

echo -n "Starting pppoed: "


# SAM /sbin/modprobe pppox

/sbin/modprobe mssclampfw

/sbin/ifconfig eth0 up

/usr/sbin/pppoed -F /etc/ppp/options.PPPoE -I eth0 -R -1

ret=$?

touch /var/lock/subsys/pppoed

if [ "$BOOTUP" = "color" ]; then

[ "${ret}" -eq 0 ] && echo_success || echo_failure

fi

echo

exit ${ret}

;;

-----------------------------------


If you don't comment out that line, then there will be a conflict when pppd starts and tries to load pppox.


Make your /etc/ppp/options.PPPoE file look like this (replacing user@yourdomain.com with your id):

-----------------------------------

#---- /etc/ppp/options.PPPoE --------------------

lock

local

nocrtscts

noauth

#be careful with mtu/mru if you are masquerading.

# look at Kal Lin's page at http://www.cs.toronto.edu/~kal/hse/resource.html

mru 1490

mtu 1490

#please make sure you have noaccomp for now

noaccomp

#the construct below is needed by sympatico

name "user@yourdomain.com"

#you might want to change defaultroute if you have more

#than one pppoe session

defaultroute

hide-password

sync

#it might be a good idea to uncomment the debug below

debug

#kdebug 7

#if you use the -R option to make it persistent

#then uncomment the next two lines below

lcp-echo-interval 240

lcp-echo-failure 3

nodetach


#add anything else you need as well


#------ END /etc/ppp/options.PPPoE -----------------------------------------------


Edit your pap-secrets (or chap-secrets) to look like this, with your id and password.


#---- start /etc/ppp/pap-secrets --------------------

# Secrets for authentication using PAP

# client server secret IP addresses

user@yourdomain.com * password

#---- END /etc/ppp/pap-secrets --------------------



Start pppoed with:


/etc/rc.d/init.d/pppoed start


This will bring up pppoed. Check the end of the log messages to see what has happened:


tail /var/log/messages



If you have a local network with your Netwinder being your gateway to the internet, then you might want to set up a firewall (with ipchains).


I went over to www.davin.ottawa.on.ca/pppoe and I downloaded the FAQ, some documents, and pppoed-0.48b1.tgz.



http://www.davin.ottawa.on.ca/pppoe/FAQ


For 2.4, you don’t need this. The kernel already supports pppoe just enable it.

The pppoe page for 2.4 is at:

http://www.math.uwaterloo.ca/~mostrows/


I got the user space tools from pub/netwinder/RPMS/OS/2.0/pppoed...




* Routing the Internet with my NW


Q: Assuming that my Netwinder has a connection to the internet, how do I get my netwinder to be a router for local network to the internet?


A: Well, assuming your connection is working fine, eg. you can ping to places on the internet from your 'winder...


Then you need two more things. One is to enable forwarding, which can be done via nwconfig, or you can edit /etc/sysconfig/network. You must restart networking for it to take effect. What is suppose to happen is that at boot time, a value of 1 is put into /proc/sys/net/ipv4/ip_forward and that starts forwarding. You might have to manual do that, if for some reason it is not set at boot time.


Then you need to create a NAT rule in the firewall. The actual rule will depend a bit on what your subnet addresses are.


ipchains -A forward -s 192.168.0.0/24 -j MASQ


Is what you want. This can be added to any existing firewall rules you already might have, typically in /etc/sysconfig/ipchains. Just add "-A forward -s 192.168.0.0/24 -j MASQ" to your file. And do that for any other rules that you have.


Here is my /etc/sysconfig/ipchains file:

--------------------------------------

-P input DENY

-P output ACCEPT

-P forward ACCEPT

#

-A input -i lo -j ACCEPT

-A input -i eth0 -j ACCEPT

-A input -i eth1 -j ACCEPT

-A input -i ppo0 -s 192.168.0.0/16 -j DENY

-A input -i ppo0 -s 172.16.0.0/12 -j DENY

-A input -i ppo0 -s 10.0.0.0/8 -j DENY

#

-A input -i ppp0 -p tcp ! -y -j ACCEPT

#

-A input -i ppo0 -p tcp --dport 23 -j DENY

-A input -i ppo0 -p tcp --dport 25 -j ACCEPT

-A input -i ppo0 -p tcp --dport 22 -j ACCEPT

-A input -i ppp0 -j DENY -l

#

-A forward -i eth1 -s 192.168.0.0/24 -d ! 192.168.0.0/24 -j MASQ

--------------------------------------




Changing the Welcome Message


While I am changing things, let’s change the welcome message that plays on boot up. It seems that the mixer program is missing with the dm-3.9-28 image. Ralph mentioned that Woody had the source for the mixer, so I went to look for it. I got it and let's create an executable, done! And according to the FAQ (1.18. How do I make a recording using the internal microphone?), I set the mixer and tried to record a sound. Good enough for changing the welcome message. The welcome message ("welcome.au" ) is located in /etc . And one of the startup scripts in /etc/rc.d plays it by doing a "cat welcome.au > /dev/audio". You can look for that and replace it. According to Ralph, "The later version we split the sound into two smaller files, because the audio has a tendency to garble, and 'empirical research' found that it was better with two small files...". So in my version, there was a welcome-1.au and a welcome-2.au played back to back. After the bootup, my new welcome message played, "Daddy, welcome to netwinder" (voice supplied by my youngest daughter).


From the FAQ:


1.18. How do I make a recording using the internal microphone?


First ensure that you insmod the soundcore, sound, and waveartist modules. Execute the following commands:


mixer -mic=90

mixer -reclev=90

mixer -source=7

mixer -private=16


dd bs=8k count=4 < /dev/audio > sample.au


where 4 indicates a 4 second sample.


then, talk into the two slits on the black tinted plastic cover on the front panel of the netwinder.


To listen to your sample type


cat sample.au > /dev/audio


I used a script to set the mixer and make the sound file, because I was playing around with it for a while. You have to get close to that microphone and talk LOUD. There might be some feedback though.



Upgrading the RAM


I want to upgrade the 64MB on my netwinder. I started on the netwinder.org web site and found a link to Erik Andersen's NetWinder Memory Project Page:


http://codepoet.org/ram/


It looks like you can get off-the-shelf memory, but it will only give you half the capacity (e.g. 256M module will report at 128MB) if you are lucky. A number of people have bought memory and that is happened.


Here is the info that Eric Young provided:

--------------------------------------------------------------------------

Being sometimes of sound mind, I wrote down all the magic numbers

on the SODIMMS before to was entombed in my re-assembled netwinder.

Front,

CT32M64S4W8E.16F

back,

MT16LSDF3264HG-10EB2 PC100-222-620

US BZAB6YQ005 200124

256MB, SYNCH, 100MHz, CL2


The CT32M64S4W8E number is the www.crucial.com part number,

http://www.crucial.com/store/PartSpecs.asp?imodule=CT32M64S4W8E

--------------------------------------------------------------------------


Sometimes you can fix a module by soldering wires on, but there is no general rule here.

Check out Erik Andersen's NetWinder Memory Project Page for more info on that.


Also I asked David Dupuis of Netwinder Inc. about what memory did they have available. He said that my NetWinder (DM rev 5 motherboard) will support up to 256MB of memory. 128MB is the largest RAM that was ever shipped with the NetWinder 2100's. 128MB is the largest memory module that NetWinder Inc. has for sale ($80US). As you will notice, the NetWinder 2100's use a SO-DIMM memory, 144-pin, PC-100, similar to laptop memory. Centon Electronics Inc. (http://www.centon.com/) was the main manufacturer for the RAM used in the 2100's. They may be able to provide you with a 256MB piece.


Centon was the main RAM manufacturer for the memory parts used in the Netwinder products. The Rebel Part Number (which can be quoted when talking to Centon) for 128MB module for NetWinder 2100/2200 (StrongArm) is 381-12811. The Centon part number for the 128MB module is CCRL128M/PRPSO. The Centon P/N for the 256MB part is CCRL256M/PRPSO.


Here is the pricing info that I got from Arlin Nielsen of Centon:


QTY PRICE

1 - 4 $169.00

5 - 9 $154.00

10 - 18 $137.00

19+ CALL


On May 11, 2002, I started the ball rolling on a group buy for the 256MB modules. I posted the announcement of the group buy on the netwinder.general newsgroup. I got the official ok from Arlin on May 13, 2002. With a special PO# GRP10137!!! Ralph S. helped post the info on the Netwinder.org site with a news item. So far we have 7 modules. I we can get in the 19+ range, we can get a further price break.


NOTE: Here is the scoop on what computers can use the 256MB module from Ralph:

 

*************************************************

I suspect you will not get 256M to work on Rev4 boards, due to some address lines not being routed. I'm not exactly sure when the change was made to support 256M in hardware. It may have been Rev5.0, or before, or later (eg. maybe rev 5.2?). Sorry... I will see if I can get a more definitive answer.

 

To check your board revision, look in /proc/cpuinfo at the revision field... the first two digits are the board version, eg 52FF means rev5.2. The FF refers to the daughtercard options.

---------------------------------------------------------------

 

Note that you must also have the latest version of the flash to use the 256MB module.

 

*************************************************

 

 



Final group buy update; July 21, 2002. We were able to get enough people interested in the group buy to get 12 modules. There were a few people who came along after the initial 12 and were able to join and get a module at the discounted price.


I put the module in and it worked!!! I got positive feedback from the rest of the group buy members as well.


The group buy is officially over, Aug 2002. If anyone is interested in getting a 256MB (or 128MB)module for their Netwinder, they should contact Arlin Nielsen of Centon (http://www.centon.com).


Arlin Nielsen
Direct: 800-836-1986 ext. 2015 (within the USA and possibly Canada)
949-699-2015 (International - please add country code
prefix)


Update March 2003: Unfortunately Arlin can no longer provide any of the Rebel.com proprietary SODIMMs (unless there is a large demand - 100+ modules at a 5+ week lead time). Sorry for the bad news.


Fix That Noisy Fan?


Should I fix the fan? It sure is noisy when there is a load on the machines. I will look into that later. There are a few nice pages with pictures for upgrading the fan. I will wait on the fan for now.


To be Continued







Last modified: July 25, 2003