nwlogo
NAVIGATION
About
News
Support

Downloads
- Search
- Mirrors
- Auto update

Documentation
- FAQ
- HOWTOs
- ARM info
- Crusoe info

Development
- Toolchain
- Autobuild
- Users

Sponsored by:

Open Source Lab at OSU

Total Domain Management by LaneChange.net

FAQ

The Whole NetWinder.Org Developer Community FAQ

Please send updates, corrections, and new items to the mailing list.


1. Hardware


2. Software


3. Documentation and Pointers


4. Background Information


5. Projects


7. Networking


8. OfficeServer


9. About this FAQ


1. Hardware


1.1. What is a NetWinder?

Quoting from the NetWinder manuals:

 The Corel Computer NetWinder Linux Computer is a high performance,
 compact RISC based machine equipped with a variety of networking,
 telephony, and multimedia peripherals. 
 Based on the Intel StrongARM processor, clocked at 275 MHZ, the
 NetWinder uses the performance, and stability of the Linux Operating
 System to deliver over 250 MIPS of power, while drawing only 10 watts
 of power.
There are two basic hardware choices, a plastic case and a rack mount. SCSI is available as an option on the rack mount. The OS (OfficeServer) and TC (Thin Client) models have depopulated boards, meaning certain hardware (such as video capture) is not normally included.

The NetWinder can be ordered with a variety of software options. The DM (Developer Machine) is the basic image which includes most of a normal RedHat distribution. The OS (OfficeServer) replaces the previous WS and GS models and provides a pre-configured system for managing a small LAN, providing firewall, network access, and file and print services. The TC (Thin Client) offers a diskless workstation that can run Citrix or X windows applications remotely.

For more details on the various disk images available, please see http://www.netwinder.org/~ralphs/diskimage.html.

There is also a newer, Transmeta-Crusoe based NetWinder called the 3100. It boasted about 4x the performance at the same or lower power consumption, and there was a PCMCIA expansion option. Unfortunately these units never shipped in any volume before Rebel.com went under.

Last changed on Thu Oct 18 21:17:18 2001 by RalphS


1.2. Man that fan is LOUD!

The original netwinders had a very loud fan, and a badly designed fan opening that led to whistling sounds. Later versions used rounded holes instead to reduce the whistling sound. Rev6 ARM and all Crusoe models use a larger, much quieter fan. On the Crusoe, the fan is internal (mounted on the CPU), which makes it even quieter.

The fan cycles between two speeds, and can be quite loud at its higher speed. The command:

 set_therm 50 
sets the temperature at which the fan switches to high speed to 50 degrees C, reducing the time it spends in high speed mode. All new versions of the software default to this level.

Standing tanding the NetWinder on end improves convective cooling, reducing the need for high speed fan operation. And you should always use the provided stand, so that the vents on the bottom of the unit are free.

Kevin Huges found a much quieter fan that you can use to replace the one in your netwinder. It is available from NBE (http://www.nmbtech.com/products/fans/dc1204kl.html) model number 1204. For some statistics and installation instructions, please see Ralph's page at http://www.netwinder.org/~ralphs/fan/.

Last changed on Thu Feb 28 09:00:33 2002 by RalphS


1.3. Hardware Summary

The Netwinder incorporates a lot of functionality in a small (9.5"H x 6"D x 2"W ) box. It may be mounted either vertically in a stand, or laid flat. It reportedly cools much better and more quietly in the vertical orientation.

NetWinders are available in stand-alone plastic cases (the "Desktop" model) as well as in a 1U rack mount with one or two separate motherboards (the "Rackmount" model). Furthermore, the OfficeServer product features a depopulated motherboard, without sound, IrDA, or video capture.

The following is a short summary of the NetWinder's key hardware features: (General info may be found at http://www.rebel.com/products/servertech/serv-net.htm and some detail on chip specs, etc. can be found at http://www.netwinder.org/~nelson/specs.html)

CPU:

	Intel StrongARM SA-110, ~250 MIPS
Chipset:
	Intel "Footbridge" 21285 ARM/PCI controller
Memory:
	32, 64, 128 MB  (possibly 256MB near future)
Hard Disk:
	WinBond 553 IDE controller
	Desktop model has a single 2.5" (laptop) hard disk, ~10GB
	Rackmount model has a 3.5" (standard) hard disk, 10-25 GB.
	Disk capacity subject to availability, we ship what we can get.
	Optional SCSI daugtercard for connecting external SCSI devices
Connectivity:
	2 Ethernet connections:
	  - one 10BaseT (WinBond 940 Ethernet, NE2000 compatible)
	  - 10/100BaseT (Digital 21143 ("Tulip") Ethernet)
	EPP/ECP port driven by Winbond '977 SuperIO
	serial port driven by Windbond '977 SuperIO
	IrDA port (not on OfficeServer or Rackmount)
	2 PS2 ports for keyboard and mouse (SuperIO '977)
Video:
	IGS Cyberpro 2010 Video Controller, 2 MB
	VGA (640x480), SVGA (800x600), XVGA (1024x768), & beyond:
	  - 640 x 480 @ 75Hz true color (24bit)
	  - 800 x 600 @ 70 Hz true color (24bit)
	  - 1024 x 768 @ 65 Hz high color (16bit)
	  - 1280 x 1024 256 color (8bit)
	  - 1600 x 1280 256 color (8bit)
Audio:
	(Not available on OfficeServer or Rackmount models)
	Rockwell WaveArtist chip
	  - 16 bit sound 44.1 KHz sampling (CD quality)
	Built in microphone/speaker 
	Full duplex stereo in/out (mini phono jack)
Analog Video:
	(Not available on OfficeServer or Rackmount models)
	WinBond 9660 TV Encoder
	  - NTSC/PAL (composite video in/out) on-board
	Philips SAA7111 VHS->YUV video transformer
	  - Video capture and playback
Telecom:
	Missing in action.  This was originally planned for the
	NetWinder, but has been removed from the current
	production.
Connectors:
	"Power" (DC in 12V, 1.5A)
	"Stereo Line In" (1/8" mini-phono plug)
	"Stereo Line Out" (1/8" mini-phono plug)
	"Future Expansion" (RJ-11 6-pin, unnused)
	"Serial" (DB-9, RS-232, up to 115200 bps)
	"Parallel"  (DB-25 parallel, EPP/ECP capable)
	"Phone" (RJ-11 6-pin, unnused)
	"Handset" (RJ-11 4-pin, alternate audio in/out)
	"Keyboard" PS/2 type
	"Mouse" PS/2 type
	"10Base-T" (RJ-45)
	"10/100Base-T" (RJ-45)
	"Video In" (RCA connector)
	"Video Out" (RCA connector)
	"Monitor" (DB-15 std. VGA connector)
	"SCSI" (68-pin Ultra Wide, with optional daughtercard)

Last changed on Sun Apr 23 10:48:40 2000 by RalphS


1.4. I thought the NetWinder had Telecom interfaces?

Good Question. This was a surprise to some early purchasers of the NetWinder.

Originally there was to be modem circuitry on the daughtercard. However, it turned out that any modem operating at >14.4kps requires hefty licensing fees because the modulation algorithms are patented. It turned out to be considerably cheaper to buy an external modem, rather than for us to include the modem components in the box. This has to do with modem manufacturers having much higher volumes than the NetWinder, therefore they can ammortize the licensing costs over more units.

The serious downside to this is that you now must consume your only serial port for an external modem if you need to connect to the net or anywhere else via dialup. Perhaps future NetWinders will contain USB interfaces so that the number of ports is not a problem.

Note: there is a second serial port on the '877 chip. Its signals are available on headers in the middle of the motherboard. You need to add a voltage level shifter (from 5V to 12V) chip, to get a functional second serial port. Thanks to Dima Veselov, you can find more details at: http://lich.phys.spbu.ru/kab00m/projects/netwinder/index.shtml

On the Rackmount hardware, this chip is present and the second serial port can be accessed on the front of the unit on a telco-style RJ-45 connector.

Last changed on Sun Sep 29 22:43:59 2002 by RalphS


1.5. What is included with a NetWinder DM purchase?

The NetWinder DM includes the NetWinder with keyboard, mouse, and stand. Documentation includes a small (12 pages) leaflet describing some basic information about the system, warranty, serial numbers, root password, and contact information.

NetWinders are no longer available for sale, as Rebel.com no longer exists. Bulk purchases of remaining inventory might be accepted however, you should contact the receiver (KPMG) in that case.

Last changed on Thu Oct 18 22:30:38 2001 by RalphS


1.6. Does the NetWinder have an on-chip FPU or support for an external one?

Neither. See Digital Semiconductor SA-110 Microprocessor Technical Reference Manual, section 1.1.2 and 3.3. There is an internal MMUcoprocessor, but no external coprocessor bus.

Last changed on Wed Aug 5 18:21:31 1998 by Roger McCarty


1.7. How can I expand the memory on my NetWinder?

The NetWinder takes a single SO-DIMM memory module up to 256MB in size. However the NetWinder requires 32-bit wide memory, as opposed to the more common 64-bit wide memory that is used on most laptops.

Memory can be bought from Netwinder Inc (see http://www.netwinder.net for contact information). The part number for for 128MB for StrongARM NetWinder is 381-12811, rumored price is $80US. They do not have any 256MB parts.

Erik Anderson (http://www.codepoet.org/ram/ for more info) see notes: Centon was the main RAM manufacturer for the memory parts used in the Netwinder products. The Centon P/N for the 128MB part is CCRL128M/PRPS0, while the 256MB part is CCRL256M/PRPSO. Note that as of March 2003 they apparently have no more inventory left. Contact was Arlin Nielson at Centon Electronics, Inc., tel 800-836-1986 ext. 2015 - Hours: Mon-Fri 9am to 5pm PT.

Andrew notes: The SO-DIMM can't have a PLL on it either. This limits you to the single height SO-DIMM, unless you are a hardware hacker. Most double height SO-DIMMS are cheaper, but have a PLL. The PLL helps with the longer traces on the bigger SO-DIMM, but it gets totally messed up by the NetWinder's clock shaker (an RF emissions limiting device).

Andy Coulthurst writes: I ordered a standard 256Mbyte 144 pin laptop SODIMM from Crucial ( in the UK ) , having thought about how the normal Netwinder memory is organised ( 32 instead of 64 bit ) and taking acount of data being addressed using RAS/CAS , I came to the conclusion that it was woth the risk spending 32 ukp on the upgrade. And success ! I ended up with a 128Mbyte Netwinder DM. ( I think my machine is a version 5 hardware ).

RalphS writes: Yes, this works, if you are daring you can try normal 64-bit laptop SODIMM memory. I've done it successfully, but this was never blessed by the hardware guys, and it could destroy your winder, the memory, or both. You'll only get half the capacity of the memory (eg. a 128MB module will show up as 64MB). If you are clever with a soldering iron, you can lift the chip select lines from half of the individual chips on the memory module, and wire them together to create a second bank, to get the full device capacity. Not all SO-DIMM modules can be modified in this way, and they all are different, so I can't give you any more specific instructions.

Rick from hardware notes that: The key is MA12, which the the Footbridge does provide. 64 and 128Mb SDRAMs didn't use A12, but 256Mb devices do. We had to split up the CEx groups on stock modules into 32bit chunks. The extra CE lines were run to pins 70 and 72. pin 70 was later defined by JEDEC as A12, unfortunately some time after the SA NW was designed.

Some more notes from Andrew: [From] page 4-3, table 4-2 "SDRAM Addresses" [of] ftp://ftp.netwinder.org/pub/netwinder/docs/intel/datashts/27811501.pdf A12 is only used in mode 010. If you look at the previous page, A-2, table 4-1 "Array Sizes", you will see mode 010 is used with some 8 MB, 16 MB, 32 MB, and 64 MB arrays, with the latter one being important. This does NOT prevent us from using 256 MB, just have to use different chips that use mode 100 though, which is what all NetWinders DIMM use. Firmware doesn't even try mode 010.

Last changed on Mon Jun 2 12:06:40 2003 by RalphS


1.8. Why does my NetWinder keep forgetting what time it is?

The NetWinder is a low power computer that was designed to be left on all of the time. Instead of having a battery to maintain the real time clock when the power is off, there is a big capacitor. This will normally maintain the time for a couple of days with the machine switched off.

You can set the clock with the 'date' program and then use the 'clock' program to write the system date into the CMOS real time clock (in UTC format):

  date -s mm/dd/yy
  date -s hh:mm
  clock -w -u
Or, if you are connected to the Internet, you can get the time from one of the public time servers:
  rdate time.nist.gov
  clock -w -u
On August 7th, Andrew Mileski warned that adjtime() only allows forward time adjustments, which causes ntpdate to bomb out when the clock needs to be stepped backward. He suggests this sequence to get around the limitation if you are using ntpdate to set the clock:
  date -s 980101
  ntpdate www.netwinder.org
  clock -wu
While the system is running, you can xntpd to keep your clock synchronised with a public time server. www.netwinder.org is available as a server.

Last changed on Mon Aug 10 04:32:09 1998 by Jim Tittsler


1.9. How do I specify another font to put more lines/columns on the console?

Use the 'setfont' command:
  setfont -9
uses a shorter font allowing 44 lines on the screen.

On more recent kernels (which use the framebuffer) use:

  fbset 800x600-70
or one of the other graphics modes. The fbset program is missing from the stock distribution but can be found on the ftp.netwinder.org site.

Last changed on Thu Oct 18 22:33:11 2001 by RalphS


1.10. When running ./configure, how should I specify my host type?

You shouldn't. If the configure script cannot determine the correct system type, then the program you are trying to build is ancient. The proper way to fix this is to modify config.guess and config.sub files in the package you're trying to build. The most convenient way to accomplish that is the following command:
  libtoolize --copy --force
Other things to remember are the compiler flags -fPIC if you're building libraries, and possibly -fsigned-char if the code expects chars to be signed by default.

Last changed on Thu Oct 18 22:40:40 2001 by RalphS


1.11. Have I got the right power supply?

The NetWinder will operate with a 9VDC to 15VDC power supply capable of supplying a peak power of 20W and a sustained power of 17W. The outer sleeve of the connector is ground. Operating close to the upper/lower voltage limits is not recomended. (See Background below for details) The RackMount unit needs more power than the desktop unit due to 3.5inch hard drives drawing more power.

As of March 1999 (when Rebel.com took over the NetWinder division) all units are being shipped with a 12VDC supply rated at 1.5A or more (1.4 Amps continuous and 1.7A peak). North American units are shipped with a "StrongWorld" brick that plugs directly into a wall socket. European customers are getting a switching power supply that operates on 110-240 VAC and 50-60 Hz.

As of April 2000, all units shipped from Rebel.com come with a small universal power supply: Make: HiTRON Model: HES24-12020 Input: AC 120-240V 0.55-0.30A 50/60Hz Output: DC 12V 2.0A 24W max.

If you are having problems (eg. smoke) with your power supply, contact Rebel.com at <support@rebel.com>. (European customers who bought units before March 1999 and received 9V, 2A supplies can continue to use the supplies unless they experience power problems).

[Background: The DC input must not fall below 9VDC nor exceed 15VDC, including ripple. The supplied power supplies are designed to balance susceptability to input voltage tolerances and NetWinder internal power dissipation. For the Rev5 NetWinders, the internal power supply circuitry is optimized for 12V, which is why the European supplies have been switched from 9 to 12V.]

Last changed on Thu Apr 20 10:55:16 2000 by Eric LaForest


1.12. Is there a hardware expansion bus or slot?

No. While the NetWinder does use the PCI bus signals internally to connect the motherboard and the riser card, it is not buffered and can not be expanded or extended outside the case.

Rumor mill says that Corel will be making an expansion unit for developers that will have several PCI slots. It will work with existing units. Warning, this is juat a rumor. :)

Last changed on Sun Aug 23 17:42:49 1998 by Mark Willey


1.13. How do I turn it off? (How do I reset it?)

You don't turn it off! The NetWinder is a network computer that is designed to stay on all the time. (It consumes about the same power as a couple of night lights.) If you must turn it off, pull out the power cord.

The big orange button on the case generates an interrupt (currently ignored), and when held depressed, causes a reset. (Note that on some revisions of the board, you have to hold the switch down a long time to actually reset the machine. It require as long as 10 to 12 seconds on some boards.)

Alex Holden <alex@linuxhacker.org> has written a "nwbutton" device driver which allows programmable action to be taken when the orange button is pushed a certain number of times. This driver has been included in the 2.0.35 kernel series (dated after 1998/Dec/10), and the default action is to gracefully reboot the NetWinder when you click the button twice quickly.

Last changed on Sun Dec 13 14:26:50 1998 by Ralph Siemsen


1.14. Is there a "cycle counter"?

The NetWinder has a word wide counter at 0xe10000304 which is decremented at a 66MHz rate. (To get at it from user space, open /dev/mem, mmap the 0xe1000000 region, and read from offset 0x304.)

Beware: In Rev 5 systems, this 66MHz clock is shaken +/- 10% to avoid concentrating too much RF energy at a single point (to make it easier to pass shielding requirements).

Last changed on Sun Jun 20 23:17:45 1999 by Jim Tittsler


1.15. Just how fast is a NetWinder?

This is a very frequently asked question on the mailing lists. The answer is it depends.

For certain instruction mixes, the StrongARM processor used in the NetWinder can be very fast. For example, its integer multiplication operation is very fast. If the program fragment of interest fits in the cache, the short instruction timing of the RISC processor becomes your friend.

On general operations, the NetWinder can feel like a 180MHz to 200MHz Pentium. For floating point intensive operations, it will be much slower since it does not include a hardware FPU. (Eric LaForest and Stanislav Vardomskiy posted some benchmark results to the devel mailing list on 18 July 1998, which can be retrieved from the archives.) On May 24th, Andrew Mileski reported that Distributed.net's RC5-64 client was running at 364.40 kkeys/sec on his NetWinder.

It should be noted that using different versions of the GCC compiler to compile something on different architectures is not a good benchmarking tool. You end up with a comparison that tells you more about the quality of the compiler or the amount of work that the compiler must do to produce "good" code rather than actual machine speed.

The BogoMIPS value computed by Linux during boot is architecture dependent. On the ARM, it produces a number that is approximately the processor clock speed in MHz.

Last changed on Thu Apr 20 10:57:15 2000 by Eric LaForest


1.16. What is the current hardware revision?

The NetWinder has gone through a couple of revisions. If you are using a recent (ELF) kernel, you can find out the revision of your system with
 cat /proc/cpuinfo
The first two numbers of the Board Rev line indicate the revision.
 FFFF -> Rev 3 or earlier
 4xFF -> Rev 4.x
   (The first 75 4.1 boards manufactured report F1FF.)
 5xFF -> Rev 5.x
   (There are also numerous reports of some 5.1 boards reporting F1FF.)
Note that as of kernel-981029, the Board Rev that is reported is "adjusted" to try and compensate for the early manufacturing runs.

The last two digits indicate information about the system and daughterboard configuration. At present, the only value there is FF.

You can also determine the revision from the serial number sticker. The part number on the left includes 1.0 or 1.1 for Revision 4 or Revision 5 respectively.

Revision 3 was used for testing at Corel Computer Corporation.

Revision 4 is the first that was available within the general developer community.

Revision 5 is the latest version. The most obvious differences from revision 4 include: (1) the ability to switch off the fan (not just switch between low and high), (2) the fan opening has rounded holes to reduce whistling, and (3) removal of the telecom/modem interface. Revision 5 also includes a "clock shaker" circuit that randomizes the main system clock enough to allow the NetWinder to qualify as a FCC Class B Computing Device. Timer 0 is "shaken", so Timer 3 is now the main stable clock. (Timer 3 is unused and does not run on Rev 4 and earlier.)

Stanislav N. Vardomskiy (//Stany) has started a board revision FAQ which has more details. See http://www.netwinder.org/~stany/netwinder_board_rev_faq.html

Last changed on Sun Dec 13 14:30:53 1998 by RalphS


1.17. How Do I Disable the Speaker

Is there a way to disable the speaker without affecting the Stereo Line output? Besides opening the case and unplugging the speaker. :)

Indeed there is. Recent versions of the sound driver have a "private" register that can be used to control behaviour. The "mixer" command lets you access the register. Type "mixer" with no arguments to see the current settings. There will be a line "private..." at the end, if you have it (otherwise kernel upgrade & mixer program update required). Usage is a bit quirky, but to shut off the speaker you would say:

	mixer -private=17
There are four bits you can twiddle. They are defined in arch/arm/drivers/sound/wa_vnc.c in the kernel source code. Bit numbers are as follows:

 #define VNC_INTERNAL_SPKR    0x01   (decimal 1)
 #define VNC_INTERNAL_MIC     0x10   (decimal 16)
 #define VNC_LINE_OUT_MUTE    0x40   (decimal 64)
 #define VNC_HANDSET_SW_ONLY  0x80   (decimal 128)
To use them, you add together the numbers you want (in decimal) and then pass that to the "mixer -private=..." call. Yes, it's a bit awkward, sorry about that, hopefully somebody will make a nice GUI someday for it.

Last changed on Wed Jul 14 15:00:47 1999 by RalphS


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

Last changed on Mon Nov 22 08:36:17 1999 by Steve Latham


1.19. How can I install a larger hard disk?

NetWinders use a 2.5" laptop-sized IDE hard disk. (The rackmount version uses a normal 3.5" IDE disk drive).

You can install pretty much any normal IDE hard disk drive in the NetWinder. Some of the difficulties you might encounter include:

* Mounting hole patterns have changed over the years. All but the earliest NetWinders use plastic adaptor strips to mount the hard disk.

* Drives 8GB or larger only report 8GB size: you need to upgrate the NetWinder's firmware to recognize the full size

* Drives over 32GB have a similar problem, again a firmware update will take care of this.

* NetWinder seems "dead" with a larger drive plugged in but works fine with original drive: you need a larger power supply, the new drives take more power.

Other than this the only known incompatibility is the 3.5" IBM Deskstar drives in a StrongARM rackmount configuration: there is a reset latchup condition, for which we have no good solution. Avoid using the Deskstar drive.

How to get the NetWinder software installed on a new hard disk? The easiest way is with a 2.5" to 3.5" adapter, which you can buy at most computer stores. Then you install the 2.5" drive in your PC, partition and format the drive and install a DM or other disk image. Alternatively you can use the NetWinders network boot abilities.

Last changed on Wed Oct 31 10:37:20 2001 by RalphS


1.20. DMA on '553 ISA devices

[The following information was provided by one of the former hardware engineers at Rebel. It explains some of the issues with DMA transfers on the "legacy" devices present on the NetWinder].

ISA Device DMA application

StrongARM based NetWinder ISA devices (Sound, Parallel, Serial IrDA) are capable of operating in DMA mode, however, some usage rules have to be followed to get around an undocumented "feature" of the Winbond 83C553 ISA Bridge device. There are several existing errata from Winbond regarding ISA and DMA, however, this particular item had not been documented by them for some reason. The PCI arbiter within the 553 generally follows all the rules of PCI 2.1, with one subtle exception; ISA DMA cycles will not release the PCI bus for retries once an ISA cycle is started, despite the PCI bus arbitration rule. This, in itself, would not be a problem, as long as all the other devices on the PCI bus (Disk, Ethernet,Video) "misbehaved" in the same manner, which they do not, nor can they be programmed to. The behaviour exists in all revisions of the 553, and even carried over into the more advanced, pin compatible 554. It contradicts the published 553 datasheet descriptions of register bits that govern, and by functional implication, should prevent the problem.

Here's an example of what happens during a Sound system DMA operation (this is how we discovered this problem):

For PCI DMA requests that read data from system memory, a PCI outbound data buffer in the FootBridge exists to accommodate compliance with the retry rule without stalling the core to wait for PCI arbitration. This buffer has a 1msec timer on it that resets the PCI bus if the outbound data is not taken by the device that requested it. During DMA driven playback of wave files, there will be chance occasions when an ISA DMA (read from memory) cycle by the sound chip is granted during the retry cycles of another, concurrently running DMA device. If this second device was awaiting a read cycle from memory, the core would place its data in the outbound buffer first, along with tags to ensure that the appropriate requesting device retrieves it. When the ISA DMA cycle seizes the PCI bus at this time, it does not release the bus for retries. The read data is stalled in the buffer since the destined device cannot get access to the PCI bus, and the system hangs until the 1msec buffer timer clears it all out. Not only does the sound chip miss chunks of sound data over that period, the other device loses the word that was stalled in the buffer.

There are several ways in software to avoid the data corruption that occurs, all with various tradeoffs in system performance. Developers that are experimenting with the sound, Parallel port, or IrDA capability of the NetWinder should be aware of this issue if ISA DMA cycles are enabled, and devise a workaround that best matches their particular system performance needs.

Last changed on Mon Oct 27 07:54:34 2003 by RalphS


2. Software


2.1. What software is preinstalled on a NetWinder DM?

The DM 3.1 disk image contains Rebel's mostly Redhat 6.1 based system. You can conviently browse all the S/RPMS and files at:

http://www.netwinder.org/rpm2html/

Make sure to select the correct sub-directory, or you'll see an overview of all S/RPMS in the database, which covers more than one image.

If you want the latest, you have to download it and install it yourself, but then are in "unsupported" territory.)

More info: http://www.netwinder.org/~ralphs/diskimage.html

Last changed on Sat Apr 8 14:04:48 2000 by Andrew E. Mileski


2.2. What if my NetWinder will no longer boot?

What if I've destroyed my boot partition? Or my specified kernel won't boot?

Don't Panic!

Recent NetWinders include a "rescue partition" for exactly this purpose. All you need to do in the firmware is type "boot rescue". If your firmware is older, you instead must type:

  setenv kerndev /dev/hda4
  setenv rootdev /dev/hda4
  boot
to use the resuce partition. For the rest of the story, see the Rescue-HOWTO which is available at http://www.netwinder.org/docs.html.

If you don't have the rescue partition (eg. an older unit), fear not. The Netwinder firmware (NeTTrom) can boot the system in a number of different ways, including over the network. The latter works most reliably over the 10BaseT (eth0) port.

NeTTrom can be told to use a different kernel file, such as /boot/vmlinux.rescue (present on all disk images up to dm-3.1-15). Or it can fetch the kernel via tftp over the network.

Details can be found in the Firmware-HOWTO at http://www.netwinder.org/docs.html.

Mike Montour has put together a minimal root filesystem that you can NFS mount to recover a toasted netwinder. http://www.netwinder.org/~mmontour/

Last changed on Thu Oct 18 22:51:12 2001 by RalphS


2.3. Why won't my monitor sync to the X display?

The default framebuffer is 1024x768. That's a little big for standard timings. If you use the 640x480 fb, you'll have more success:

 rm /dev/fb0current
 ln -s /dev/fb0color640x480x16
One has to keep in mind, though, that there is a general tendency to move away from a frambuffer device, and the new disk image (2.0) includes Andrew Mileski's Accelerated X server that uses the on-board video chip. With the new X server the way to get X to sync is to edit the apropriate configuraion files.

Last changed on Sun Nov 1 09:06:46 1998 by //Stany


2.4. What is the latest version of the NeTTrom boot ROM? How do I update?

Version 2.3.3 is the last (and perhaps final) version of NeTTrom. It supports up to 256MB of RAM and hard disks over 30GB in size. This version also knows how to deal with new ext2 filesystem options, so you won't run into trouble if you mke2fs using new tools.

Information on installation and setup are available in the Firmware-HOWTO, which can be found at http://www.netwinder.org/docs.html.

When upgrading from version 1.x to 2.x, be aware that the default paths for kernel and root filesystem have changed. This means that you'll need to change 2.x defaults to match a 1.x fileystem layout:

  setenv kernconfig partition
  setenv kerndev /dev/hda1
  setenv rootconfig disk
  setenv rootdev /dev/hda2
  save-all
  boot
If you have the old disk layout but want to boot a kernel from the /boot directory (which is on /dev/hda2), you would want to do:
  setenv kerndev /dev/hda2
  setenv kernfile /boot/vmlinux-YYMMDD
  save-all
  boot
Important! If you are trying a version of NeTTrom >= 2.0.6 with a 2.0 kernel, you'll need a kernel dated greater than 990121.

And also note that if you are using booting a 2.2 kernel with version 2.0.4 of the firmware, you will not be able to load nwflash. You have to use a 2.0 kernel. (So as a general rule, it is best to update the firmware first, then the kernel, and then the disk image.) The only exception is if you upgrade "past" 2.0.6, in which case you must make sure you have a kernel newer than 990121 available.

Last changed on Thu Oct 18 23:02:03 2001 by RalphS


2.5. What is the current X server?

The DM-3.1-15 and later disk images ship with XFree86 version 3.3.3.1

  $ X -showconfig reports:
  XFree86 Version 3.3.3.1 / X Window System
  (protocol Version 11, revision 0, vendor release 6300)
  Release Date: January 4 1999
  Operating System: Linux 2.2.13-20000131 armv4l [ELF] 
  Configured drivers:
  SVGA: server for SVGA graphics adaptors (Patchlevel 0): CyberPro
The corresponding RPM is: XFree86-3.3.3.1-36nw10

In DM-3.9 we are still using the same version of X. The reason is because the cyberpro2000 video chip support is rather ugly, and hasn't made it into the XFree sources. So to go to a newer version would require a lot of work.

As far as we know nobody has tried building Xfree4. Don't bother trying unless they include support for the cyberpro20x0.

Last changed on Thu Oct 18 23:06:57 2001 by RalphS


2.6. Why does X crash if I leave it alone for a few minutes?

This no longer applies to XFree-3.3.3.1 server. It works just fine.

The older, framebuffer-based X server would crash whenever the screensaver kicks in. The way to avoid this is obviously to stop the screen saver from starting. :-)

There are a couple of ways you can do this:

 xset s 0 0
or, add
 BlankTime 0
to the "Screen" stanzas of your /etc/XF86config.

Last changed on Thu Oct 18 23:08:24 2001 by RalphS


2.7. Can I run the NetWinder as a "headless" server?

Sure. The NetWinder will boot and run fine without a keyboard, mouse, or monitor. (You'll need them once, for initial networking configuration.)

The boot ROM will report a keyboard error if none is connected, but it does not affect booting or operation.

Last changed on Wed Sep 2 08:59:40 1998 by Jim Tittsler


2.8. How do I make Apache run reliably?

(This should not be needed on dm-3.1 and beyond).

Rasmus Lerdorf reports that adding

  Listen 80
  Listen 81
to your Apache 1.3.x httpd.conf file to make it listen to more than one port will help. This introduces a select() call before the accept() call that was causing problems in his earlier attempts. He has documented this at http://netwinder.lerdorf.on.ca/

If you have a problem where a page (or image) seems to load 90% of the way and then pauses for a long time before completing, the problem is with FIN_WAIT in the kernel currently used for the NetWinder. The solutions include: using kernel 2.0.35, or disabling KeepAlive, or reducing the timeout from the default 15 seconds to something much shorter (like 3 seconds).

Last changed on Thu Oct 18 23:09:45 2001 by RalphS


2.9. How do I get the X keyboard map straightened out?

Modify your .xinitrc so that it runs
  /etc/fixXkeys2

Last changed on Wed Sep 9 22:50:06 1998 by Jim Tittsler


2.10. How do I use a ZIP drive with my NetWinder?

You can connect a parallel port Iomega ZIP drive to the parallel port on your NetWinder. The software modules required are provided in /lib/modules:

 /usr/sbin/insmod /lib/modules/scsi_mod.o
 /usr/sbin/insmod /lib/modules/sd_mod.o
 /usr/sbin/insmod /lib/modules/ppa.o
(Note that in the 2.0.x kernels, the use of ppa.o and lp.o is mutually exclusive. If you want to use a parallel printer, rmmod ppa.o and insmod lp.o.)

On newer systems (DM-3.1-15a), they are in /lib/modules/2.2.13-20000131/scsi.

modprobe <modulename> as root should do the trick.

Last changed on Fri Mar 31 12:22:47 2000 by Eric LaForest


2.11. How do I use a parallel port IDE device like a Syquest EZFlyer?

There are many devices appearing that use a standard parallel port to implement IDE-like communications. The paride drivers are available from http://www.torque.net/parport/paride.html Included in this family are a number of drivers including the pd driver with paride support for the Syquest drive and the pf driver with epat protocol used with external LS-120 drives.

(Note: In the 2.0.x kernels, you can load only one of pd.o (for paride), ppa.o (for Iomega parallel adapter support, like in the ZIP drive), and lp.o (for parallel printers, what a novel use for a parallel printer port).)

Last changed on Fri Sep 11 00:40:40 1998 by Jim Tittsler


2.12. Why is the utmp/wtmp data periodically corrupted?

There has been a change in the format of the UTMP and WTMP files in the transition from libc5 to glibc. This can cause many utilities like finger, who, or w to complain about the files being corrupt. Unfortunately, some of the binaries provided in the NetWinder disk image expect one format and some expect the other. When all of the distribution gets put together, the format should stabilize on the newer UTMP/WTMP format.

This is mentioned in the glibc FAQ, questions 2.13 and 3.2: http://cscw1.ifs.uni-linz.ac.at/link/usr-doc/glibc-2.0.7/FAQ

Last changed on Tue Oct 6 00:19:53 1998 by Jim Tittsler


2.13. What is the current kernel version?

The latest official kernel can be found at: ftp://ftp.netwinder.org/pub/netwinder/kernel/binary/ Be sure to check the README file in that directory.

Experimental or otherwise "beta" kernels can be found at: ftp://ftp.netwinder.org/users/r/ralphs/kernel/

Kernels are distributed in RPM format. Most people will want to grab the kernel-2.x.y package, and the kernel-headers-2.x.y package.

If you want full sources, install the kernel-source.2.x.y package. And only of you want to rebuild the RPM packages themselves, would you want the kernel-2.x.y.src.rpm package.

Information on configuring and building the kernel is available from http://www.netwinder.org/~ralphs/howto/Kernel-HOWTO.html

Last changed on Thu Oct 18 23:15:16 2001 by RalphS


2.14. What are the current development tools? (C compiler)

Please see http://www.netwinder.org/tools.html for current info.

The DM-3.1-15 disk image contains a stable and well tested toolchain. Individual RPMS and SRPMS can be found at: ftp://ftp.netwinder.org/pub/netwinder/RPMS/dm/3.1-15/

For more cutting edge development (such as the latest RedHat rawhide sources, or the 2.4 kernel) you'll need more recent toolchain. Unfortunately things are a bit unorganized at the moment. The best bet is to use the tools from the DM-3.9 disk image. Its a work in progress.

Last changed on Fri Oct 12 10:04:40 2001 by RalphS


2.15. What are the required links to the kernel headers?

This is more of a general Linux question, than something specific to the NetWinder.

However this question has recently become a hot debate, as Linus and the glibc developers butt heads over the issue.

In the past, this is how things were expected to be set up:

  /usr/src/linux -> points to your kernel source tree
  /usr/include/asm -> ../src/linux/include/asm
  /usr/include/linux -> ../src/linux/include/linux
Thus when you change kernels, only one link (/usr/src/linux) needs to be adjusted, and the new headers will be used. If you download any of the kernel-headers-2.x.y RPM packages and install them, the /usr/src/linux symlink will be appropriately set for you.

However the glibc developers (rightly) argued that once glibc and applications are compiled and installed on a system, the headers should not change since this could cause binary API problems.

So the new strategy is that /usr/include/asm and /usr/include/linux are now directories, owned by the glibc package. These directories contain the kernel headers from whichever kernel was used to build glibc. The downside of course is that you now have two copies of the kernel headers.

To top things off, you are not supposed to build your kernel in /usr/src/linux anymore, but rather somewhere private like your home directory. Yes now we have three copies of the headers. And the kernel build scripts still make reference to /usr/include.

Yes, it's a mess.

Last changed on Thu Oct 18 23:26:03 2001 by RalphS


2.16. Why is the RPM database corrupt on my NetWinder?

This was only a problem on disk images before dm-3.1-15. As of this disk iamge, everything is built cleanly in RPM format, and there should be no issues with the RPM database.

If you have an older disk image we urge you to upgrade.

The internal RPM data format has changed a few times, unfortunately. This generally makes it impossible to install newer RPM packages on an older system. The general remedy is to upgrade the RPM package (you must do this by fetching a tarball and compiling it).

Last changed on Thu Oct 18 23:29:40 2001 by RalphS


2.17. What is the difference between /dev/temperature and /dev/therm?

Early versions of the NetWinder kernel used /dev/therm for the temperature sensor and the fan control. To move more in line with the growing Linux practice, this was changed to /dev/temperature in the ELF kernels. /dev/temperature is assigned major device 10, minor device 131.

Check http://www.netwinder.org/~ralphs/boot.html for details.

The entry in proc is still called /proc/therm, since it returns more data than a program might expect from /proc/temperature.

Last changed on Thu Nov 5 00:46:22 1998 by Jim Tittsler


2.18. How do I partition my disk? (pfdisk, fdisk)

As of dm-3.1, partitioning your disk is the same as on a PC. You can use fdisk or any number of other related tools.

On the very old images, one must use pfdisk. You need to specify he geometry (cylinders, heads, sectors) as the first step of using it. Beware because pfdisk can not handle disks with more than 1023 cylinders, so if you have a large disk, you need to create a geometry that has fewer cylinders (and more heads). Andrew Mileski suggested using:

  cyls = cyls / 2^N <= 1024
  hds = hds * 2^N
If you have an existing NetWinder HDD, you can find the geometry used with 'dmesg | grep PTBL' or 'hdparm -g /dev/hda'. So to partition a disk, you might do:
  # dmesg | grep PTBL
  hda: [PTBL] [746/128/63] hda1 hda2
  # pfdisk
  g 746 128 63
  1 131 0 260 boot
  2 130 261 292 swap
  3 131 293 745 home
  w
  q
As for partitioning strategies, there are basically two ways that have been used on the NetWinder. The ancient machines used:
  /dev/hda1 - small partition for holding raw kernel
  /dev/hda2 - root filesystem (/)
  /dev/hda3 - swap (64MB)
  /dev/hda4 - /home filesystem
All the current units (officeserver, dm-3.1, dm-3.9) we recommend the following:
  /dev/hda1 - root filesystem (all remaining space)
  /dev/hda2 - swap (64 to 128 MB)
  /dev/hda3 - /usr filesystem (1 to 2 GB)
  /dev/hda4 - rescue partition, not mounted (12 MB)

Last changed on Thu Oct 18 23:34:58 2001 by RalphS


2.19. What is the default root password?

vnc

(This is mentioned in the instruction pamphlet that Corel provides, but there are still questions about it...)

For you history buffs, vnc was the original name for the NetWinder product. It stands for "video network computer", since the product evolved from the earlier Corel video console (a video-conferencing solution). However the name "vnc" was already taken, and the marketing guys came up with NetWinder instead.

Last changed on Thu Oct 18 23:36:54 2001 by RalphS


2.20. How do I configure sound support into the 2.0.35 kernel?

The easiest way is to upgrade to dm-3.1 and a 2.2 kernel.

If you really want to do it with a 2.0 kernel, then:

  - do 'make menuconfig' and under the sound menu,
    built sound support as a module
  - run the "old sound config script"
    - say "no" to everything but WaveArtist and OPL2/3 support
    - if you want, enable /dev/audio and /dev/midi
The build the kernel as normal.

Note for Rev4 boards: some boards have the volume slider installed backwards (manufacturing error). You can fix this in software by loading the sound module with the parameter "reverse=1".

Last changed on Thu Oct 18 23:41:10 2001 by RalphS


2.21. Remount drive RW in single user

Just in case someone doesn't remember:

To remount your drive read/write in single user mode

  mount -n -o remount,rw /
This is nice when you break your system and need to change your default shell or fix broken items.

Last changed on Fri Jan 29 12:44:54 1999 by scott hutinger


2.22. Web browsers

There is unfortunately not a distributable version of Netscape available for the NetWinder. There exists a beta version supplied by NetScape to Corel Computer for evaluation purposes. This beta has a number of known bugs, and cannot be distributed due to legal reasons. The CCC->rebel.com transition and the netscape->AOL mergers have thrown a big wrench in the legal process... it's unfortunate, but that's the way the cookie crumbles...

Sean maintains a list of browsers that work on the NetWinder, please see http://www.netwinder.org/~seanm/browsers.html

Rod has gotten mozilla to run on the NetWinder. It is a little rough, but it works. See ftp://ftp.netwinder.org/users/s/stewart/redhat/RPMS/non-versioned.

Last changed on Tue May 9 10:09:14 2000 by RalphS


2.23. How do I upgrade an old WS image?

Misc. notes about upgrading a NetWinder with an old WS image:

Ralph Siemsen <ralphs@netwinder.org> notes:

The default disk partitioning scheme has changed... with the new firmware you'll need to juggle, to boot the old image... once the drive is formatted and repartitioned, with the new image, you'll need to "unjuggle" back.

You might have to program the SROM on the tulip (eth1, 10/100 port). If the port won't work, then fetch "tulip_upgd-2.2" and insmod it, then reboot, then the port will work again.

Location: ftp://ftp.netwinder.org/pub/netwinder/kernel/modules/tulip_upgd-2.2.o

Other than that, there should be no problems. Getting the firmware and disk updated from such an old system, is the biggest hassle. It's all covered in the Disk-Update-HOWTO.

Andrew E. Mileski <andrewm@netwinder.org> notes:

The current scheme is (if memory serves):

  /dev/hda1  root    /      50% minumum
  /dev/hda2  swap           64MB
  /dev/hda3  user    /usr   50% to max of 2 GB
  /dev/hda4  rescue         10MB
Rod Stewart <stewart@netwinder.org> notes:

One thing: When formating your drive, assuming you are NFS booted off the 3.1 base image use the option "-O sparse_super" to mke2fs, else you will NOT be able to boot.

                mke2fs -O sparse_super /dev/hda1
                mke2fs -O sparse_super /dev/hda3
One other thing: Upgrade your Flash before to a 2.1.x flash before you nuke your WS install...

Last changed on Tue Nov 7 11:31:22 2000 by Eric LaForest


2.24. BUG IN DYNAMIC LINKER

BUG IN DYNAMIC LINKER ld.so: ../sysdeps/arm/dl-machine.h: 450: elf_machine_rel: Assertion `! "unexpected dynamic reloc type"' failed!

First, this is a bug in the dynamic linker. The ELF specification allows non PIC code to be linked into a shared library. This introduces relocations into the .text segment of the shared library. The dynamic linker is expected to fix these up. We currently do not do this. I'd have fixed it long ago if it was easy!

On ARM Linux, this particular bug is caused by branch instructions in code that is not compiled position independent. It introduces a PC24 reloc into the .text segment (the code) of the shared library. Position independent code has no such relocs. The latest dynamic linker will attempt to fix up these relocs, but at the moment it is not able to do so in all cases. In order to understand why you need to know a little about the branch instruction. On the ARM the branch instruction is PC relative. That means when it is executed an offset is added to the current PC. The branch offset is contained in 24 bits of the instruction. This means it can branch +-2^24 words from the PC. However when trying to branch to a shared library routine, the distance from the current PC to the start of the routine can exceed the offset representable in 24 bits.

To get around this the address to branch to would have to be moved into a register, then moved into the PC. In our case this is no longer possible, the fix has to be done in the space of one instruction, not two. In PIC code, the address to branch is set to a PLT entry. The code in the PLT entry looks up the real function address in the GOT, loads it and moves it into the PC.

The current ARM dynamic linker will attempt to fix up PC24 relocs in the .text segment of shared libraries. It is only moderately successful however. The reason is the way symbol resolution is accomplished in the dynamic linker. It is most easily described by example. Consider a program p which uses two shared libraries, libc.so.6 and libfoo.so. Lets say both program p, and libfoo.so call printf in libc.so.6. Also assume libfoo calls sprintf but program p doesn't. Let's also assume that the code calling printf and sprintf in libfoo.so wasn't compiled PIC, so we have PC24 relocs that need fixing up in libfoo.so. The dynamic linker when loading p, loads and resolves p first, then libc.so.6, and then libfoo.so.

When loading libfoo.so, the dynamic linker will attempt to fix up the PC24 relocs. It attempts to resolve the addresses of sprintf and printf to bind to. The default address resolution code, returns the address of sprintf in libc.so.6. For printf it is a little different however. It will return the address of the PLT entry in the program p for printf. Typically program p will load at 0x02000000 in ARM Linux, and the shared libraries at 0x40000000 and above. Thus the offset to printf is going to be too big to represent in 24 bits. The offset of sprintf will likely be ok as well. It is theoretically possible for a program to use a combination of shared libraries such that a branch between them couldn't be represented but this is unlikely. The program in question would have a large memory footprint. The only one I can think of that would come close would be Mozilla.

Before anyone gets excited, all the behaviour I have described here for address resolution is legal. What needs to be done is is to write new resolution code which will not attempt to link to the PLT entry in the program in this one special circumstance. I just haven't got there yet.

One other thing of note regarding this problem is the behaviour of the memory manager when the .text segment is written. Shared libraries are designed to have the code shared among several processes. Only the data must be kept separate. This means that a if 10 processes were using libfoo.so, the code would be in physical memory once, and virtually mapped into all 10 processes If libfoo.so requires fixups in the .text segment there will be 10 copies of the code in physical memory. This is unavoidable as the fixup introduces an offset into the instruction based on the virtual address.

Last changed on Fri Jun 2 11:46:19 2000 by Scott Bambrough


2.25. Xfree on the dm-3.9-28 image

On the dm-3.9-28 image if you type "startx" it will fail. The problem is that you must remove or rename "/dev/tv". Just do:

  mv /dev/tv /dev/tv.old
and it should start up fine.

(Wondering how come something this obvious got missed? The dm-3.9-28 image wasn't really meant to ship - we were getting reading to release 4.0 but it never happened. So 3.9 went out as-is, with some obvious things like 'startx' not having been noticed at the time).

Last changed on Tue Sep 16 15:31:14 2003 by RalphS


3. Documentation and Pointers


3.1. NetWinder.org WWW and FTP Site

http://www.netwinder.org is the official site for developer information for the NetWinder. The associated FTP site ftp://ftp.netwinder.org includes both officially distributed files from Rebel.com and contributions from the developer and user community. There are indexes and a search engine available at http://www.netwinder.org/downloads.html.

All registered developers can receive Email via name@netwinder.org. You should make sure that the .forward file in your home directory on NetWinder.org always points to a working Email address.

You can also FTP web pages to your public_html subdirectory (/users/n/name/public_html, where name is your registered developer name, and n is the first letter of that name) and they will appear on the web as http://www.netwinder.org/~name. By default, index.html is served when someone requests a directory.

You can change your password on netwinder.org by connecting with SSH which will directly run the passwd command, allowing you to change your FTP password.

Andrew Mileski has added an anonymous rsync server to ftp.netwinder.org. rsync is a smart synchronization program that can send only differences over the net. You can get rsync from http://samba.anu.edu.au/rsync/ or the mirror on NetWinder.org ftp://ftp.netwinder.org/pub/mirrors/rsync/

There are currently two rsync "modules":

  ftp    = ftp://ftp.netwinder.org/
  images = ftp://ftp.netwinder.org/pub/ccc/images/
so for example to get the latest DM disk image:
  rsync --partial ftp.netwinder.org::images/dm.tar.gz .
To get the latest DM disk image if you already have a previous version of the uncompressed disk image tarball:
  rsync -L --partial ftp.netwinder.org::images/dm.tar .
This will save you much download time, and you can repeat the command as often as necessary if the download fails or you get disconnected. ["dm.tar" and "dm.tar.gz" are symbolic links to the current DM drive image, which also makes automated update downloads simpler.]

Last changed on Wed Nov 3 18:25:09 1999 by RalphS


3.2. NetWinder.org FTP Index

The folks at Rebel.com are now maintaining a series of FTP indexes and a search engine for the public files available on ftp.NetWinder.Org. The indexes include separate sections for documentation, RPMs/SRPMs, and miscellaneous files, as well as a listing of what's new on the server.

Freetext searches of all the HTML pages on the site can also be performed.

Both features are available at http://www.netwinder.org/search.html.

Last changed on Thu Oct 18 23:44:30 2001 by RalphS


3.3. Mailing Lists and newsgroups

There are a number of discussion groups at netwinder.org. They are available both as email lists and via a news server (news.netwinder.org). The current list of discussion groups can be found at http://www.netwinder.org/mailman/listinfo.

Messages are automatically forwarded between the mailing list and the corresponding newsgroup. So you can use either email or news, to access the same information.

To subscribe to a list simply go to the above web page and follow the instructions. You can use your mail client (or procmail, or Exim filter file, etc.) to sort the mailing list messages based on the Sender: header.

All of these lists are also available in digest form. This means that you will receive a single email with the day's messages, rather than individual messages. Digests can be selected when you subscribe, or later on by editing your options through the web interface.

Archives of past messages are also available. They can be accessed through the web interface. We hope to have complete history of messages eventally.

Last changed on Thu Oct 18 23:52:35 2001 by RalphS


3.4. Chip Documentation

Russell Nelson started a master index of links to NetWinder chip documentation. Scott Bambrough is now maintaining the listing as some of the links had moved around. http://www.netwinder.org/~scottb/specs.html

Last changed on Sat Jun 19 02:57:03 1999 by Jim Tittsler


3.5. StrongARM Processor Documentation

Ben Pfaff suggests the programmers docmentation at http://www.arm.com/ and in particular the ARM7TDMI data sheet. Chapter 3 includes the programmer's model and Chapter 4 details the ARM instruction set. Andrew Mileski suggested the ARM8 documentation, since it is the same architecture (except it doesn't include an MMU).

The ARM8 docs and tons of other related docs can be found here:

   ftp://ftp.netwinder.org/pub/netwinder/docs/

Last changed on Wed Mar 29 15:02:22 2000 by Eric LaForest


3.6. Sound

The hardware is designed around the Rockwell WaveArtist[tm].
   http://www.conexant.com/playground/waveartist 
   (Rockwell divested its semiconductor business into Conexant)
Russell Nelson tracked down the data sheets in PDF form.
  http://www.netwinder.org/~nelson/1101r1.pdf
  http://www.netwinder.org/~nelson/md152r2.pdf
The sound hardware is compatible with the industry-standard SoundBlaster[tm] from Creative Technology.

See also item 1.20 for some gory details regarding DMA and sound.

Last changed on Mon Oct 27 08:06:11 2003 by RalphS


3.7. Video Output

The video output is provided by the IGS Cyber2000.

Last changed on Fri Aug 7 10:09:07 1998 by Jim Tittsler


3.8. Video CODEC

The NetWinder uses the WinBond 9660 video CODEC which is designed around a high performance RISC core. It can run programs that are downloaded to its memory for encoding/decoding video streams.
 http://www.winbond.com.tw/

Last changed on Wed Mar 29 14:26:14 2000 by Eric LaForest


3.9. Structure Alignment FAQ

Brian Bray is maintaining a "Structure Alignment FAQ" discussing the issues surrounding structure alignment and packing in the StrongARM Linux world. http://www.netwinder.org/~brianbr/alignment.html

Last changed on Mon Sep 14 20:52:38 1998 by Jim Tittsler


3.10. How can I get access to the CVS tree at NetWinder.org?

All you need to do is to register as a developer (free!) and then you can use the :pserver: access method. See http://www.netwinder.org/account.html for information on how to register.

If you only want to check a few files, you can use the CVSWeb interface which can be found at http://www.netwinder.org/cvsweb/cvsweb.cgi.

Please do not use wget or similar utilities to recursively get files from the CVSWeb interface. You'll get far more than you wanted, which wastes bandwidth and CPU on our server.

Last changed on Thu Oct 18 23:58:15 2001 by RalphS


3.11. Audio mixer info

A good place to find information about NetWinder audio programming is the sample source in ftp://ftp.netwinder.org/users/w/woody/

Last changed on Tue Oct 27 04:05:42 1998 by Jim Tittsler


3.12. NetWinder.Org Newsgroups

NetWinder.Org has moved the main developer information channel from the old mailing lists to newsgroups on their private server.

The NetWinder newsgroups are available on news.netwinder.org. They consist of netwinder.advocacy, netwinder.announce, netwinder.bugtraq, netwinder.devel, netwinder.features, and netwinder.general. There is also a netwinder.test for test messages.

Last changed on Wed Mar 29 14:03:09 2000 by Eric LaForest


3.13. What is the device for the serial port?

What device is the serial port on the netwinder?

I tried to open both /dev/ttyS0 and /dev/ttyS1 and perror generated the message "/dev/ttyS0: Operation not supported by device".

In order to activate the serial port, you need to install the serial module by executing "insmod serial".

In later kernels, the serial driver is compiled in by default. This allows you to redirect all kernel messages to the serial port, so the NetWinder can be used without a monitor attached.

Last changed on Thu Oct 18 23:59:44 2001 by RalphS


4. Background Information


4.1. Who do I contact to buy a NetWinder?

See the other items in this section for more information.

The NetWinder line has been purchased by a new company called NetWinder Inc. They are selling units through VARs such as GDB Solutions and ProPlus (those are the ones I know of, there will probably be others). The prices I've heard reported are as steep as ever.

If you are looking for a cheap netwinder, you might be lucky to find a used one. They appear on Ebay from time to time. Also, Computer Recyclers in Ottawa has them once in a while, and will sell them for cheap if you barter with them long enough.

Occasionally, individuals sell netwinders by posting their for sale announcement to the general mailing list.

Last changed on Sat Feb 16 18:58:30 2002 by RalphS


4.2. Pictures. Pictures! I want pictures!!!

Ralph Siemsen has put some photos on http://www.netwinder.org/~ralphs/images - this shows NetWinder board as well as the beowulf clusters made by San.

Last changed on Mon Apr 8 11:41:57 2002 by RalphS


4.3. Who is acquiring the Corel Computer Corporation NetWinder division?

On January 20th, 1999, Corel signed a letter of intent which gives them a 25% equity stake in Hardware Canada Computing (HCC, http://www.hcc.ca/ ) in exchange for the NetWinder division. An undisclosed number of employees will be transferred to HCC, with others returning to the main Corel business.

http://www.corel.com/news/1999/january/january_20_1999_b.htm

Corel also announced they will be selling off their video conferencing hardware group to another company, and will return to being a desktop software company.

On May 3, 1999, HCC was re-launched as Rebel.com (http://www.rebel.com)

http://www.rebel.com/corporate/press/19990503a.html

Last changed on Sat Apr 8 13:48:43 2000 by Andrew E. Mileski


4.4. What happened to HCC / Rebel.com ?

Hardware Computing Canada (HCC) bought the NetWinder line from Corel in January 1999, and a few months later they renamed the combined venture to Rebel.com. The media made a big fuss over the rebel.com domain name having cost $5,000,000, however the reality was that only a few thousand were spent, with the balance to be paid when Rebel hit a certain amount of revenue (which it never did).

On July 13, 2001 Rebel filed for bankruptcy. Things had been pretty rough for the last six months, and the failure to form a strategic partnership with Fuji/Xerox eventually killed the company.

During the Rebel.com time, OfficeServer product was developed and three major versions of it were completed. OfficeServer combined the features of WebServer and GroupServer.

Also, Rebel designed the NetWinder 3100, a new hardware model based on the Transmeta Crusoe 5400 processor. Like its predecessors, the 3100 exists in both a plastic desktop model (grey and blue colours), and a metal rack-mount version with two units side-by-side.

The 3100 offers about three times the computing power, in the same form factor, and using 50% less power than the earlier netwinders. Unfortunately, only about 100 units were built before Rebel died, and most of these went to reviewers or were used for demonstration purposes.

Last changed on Sat Feb 16 19:09:52 2002 by RalphS


5. Projects


5.1. Debian NetWinder Project

There is an active movement to port Debian to the NetWinder (and ARM architecture). http://www.debian.org/ports/arm/

A complete Debian chroot environment is now available that can be easily installed into a directory on a NetWinder and run without affecting the software that Rebel.com supplies. ftp://ftp.jimpick.com/pub/debian/arm/

Last changed on Sun Aug 29 21:11:23 1999 by Jim Tittsler


5.2. How can I become a registered NetWinder developer?

Go to http://www.netwinder.org/account.html, click on "new account", and fill in the form.

Last changed on Fri Oct 19 00:03:16 2001 by RalphS


5.3. How can I try/use a NetWinder before mine arrives?

Rebel.com makes a NetWinder OfficeServer available over the Internet at http://office.rebel.com/

Last changed on Mon Feb 28 00:19:24 2000 by Jim Tittsler


5.4. How can I find out more about the ARM Linux Project?

Russell King is leading the development of ARM Linux. You can read more about it at http://www.arm.linux.org.uk/

There is a mailing list. Send mail to <majordomo@vger.rutgers.edu> with the body of your message consisting of 'subscribe linux-arm'.

The newsgroup comp.sys.arm discusses all things ARM-related, including ARM Linux.

Last changed on Wed Mar 29 13:52:08 2000 by Eric LaForest


5.5. GIMP

//Stany has built GIMP 1.0.0 for the NetWinder:
  ftp://ftp.netwinder.org/users/s/stany/Gimp-1.0.0/
(This was built using an ELF kernel, misallignment patch version 0.7 on a "pre 1.2 disk image", but is expected to work correctly with the shipping 1.1 disk image/a.out kernel.)

Sun Nov 1 08:43:37 EST 1998 The packages are still there, but GIMP 1.01 builds out of the box, so they are no longer needed. Was a worthy try, though ;-)

Feb 1999 Gimp 1.0.2 needs a little tweaking to build. -run configure with --host=arm-linuxelf -edit gimp.h to delete "G_GNUC_NORETURN" from definition gimp_quit -edit the Makefile to add "-fsigned-char"

Last changed on Tue Feb 16 08:12:29 1999 by Chuck Stuart


5.6. Python

Python 1.5.1 compiles and mostly runs out of the box.

Brad Knotwell discovered that there were problems with nearly any floating point math. He commented out the

 #ifdef HUGE_VAL
stanzas in several of the modules and core code. After that, python passed all the math tests it had previously failed.

Last changed on Wed Aug 19 04:08:50 1998 by Jim Tittsler


5.7. NetWinder test suite

There is a diagnostic program shipping on the current DM in /usr/bin/diag with supporting programs in /usr/testscripts. It is also present in a slightly different form on the OS version.

The corresponding RPM is testscripts-0.7-2

Last changed on Fri Mar 31 11:04:20 2000 by Eric LaForest


5.8. What projects are underway by NetWinder.org Developers?

An index of developers who have setup a default web page can be found at: http://www.netwinder.org/users.html. This list is updated daily.

Some of them list some interesting projects.

Last changed on Fri Oct 19 00:07:21 2001 by RalphS


5.9. RedHat for the NetWinder

Andrew Mileski has been working on building a complete RedHat distribution for the NetWinder. He has put together a large number of RPMS.
 http://www.netwinder.org/~andrewm/redhat/RPMS/
 http://www.netwinder.org/~andrewm/redhat/SRPMS/
These index pages may not give you working clickable links to the RPMs. You can get the RPMS themselves from
 ftp://ftp.netwinder.org/users/a/andrewm/redhat/RPMS/
(Note: This project is not sponsored by RedHat Software.)

Rod Steward has put together a completely RPM-based distribution based on Redhat 6.0 and its security updates. It is based on versioned glibc libraries, so it will break anything you've installed before. (It is probably best to install it on its own partition until you are sure of your way around.) There is also a small tarball available which can simplify initial installation of the titan-VI RPMs.

 Primary site (courtesy The Nexus Project http://www.nexus.carleton.ca):
        ftp://ftp.nw.carleton.ca/winder/titan-VI/
 Nightly mirror: (courtesy NetWinder.org/Rebel.com)
        ftp://ftp.netwinder.org:/pub/mirrors/carleton/winder/titan-VI

Last changed on Wed Nov 3 07:04:27 1999 by Jim Tittsler


5.10. Video Capture

Pat Bierne has made a some sample video capture programs available. ftp://ftp.netwinder.org/users/p/patb/

Last changed on Thu Oct 22 04:51:13 1998 by Jim Tittsler


5.11. SSH

By far the best choice is openssl/openssh, which compile out-of-the-box on dm-3.1 and dm-3.9.

If you really want SSH, then the following tips may be helpful.

SSH 1.2x versions require a bit of work to operate on the NetWinder.

  CFLAGS="-D_GNU_SOURCE" ./configure --disable-asm
Then edit config.h and comment out the line so it looks like this:
  /* #define HAVE_OPENPTY 1 */
At very least, DM9 and DM12 require that you also comment out this line:
  /* #define HAVE_UTMPX_H 1 */
Then just "make" and "make install".

Disabling compiler optimization is necessary or "make install" will endlessly loop trying to generate a prime for p.

For sshd, there are some problems with the pty support on the netwinder because it uses a relatively new glibc and a relatively old kernel. While this should be fixed in DM15, there have been reports to the contrary, along with the suggestion to edit config.h to comment out the line like this:

  /* #define HAVE_DEV_PTS_AND_PTC 1 */
This solution also works on DM14, and OfficeServers which are based on that release.

SSH 2.x versions are reported to compile and work out of the box on the NetWinder. (But note that SSH 2 has a more restrictive license.)

Last changed on Fri Oct 19 00:09:16 2001 by RalphS


5.12. What was the NetWinder cluster that Corel showed?

At the Atlanta Linux Showcase, Corel showed a cluster of NetWinders that have been removed from their cases and mounted in a stack. The "master" NetWinder has a hard disk and can control the power supplies of the "slaves." The slaves are set up to boot (using NeTTrom's DHCP) from the master and run using an NFS filesystem. All of the systems communicate over one Ethernet bus (and the master masquerades the system to the outside world).

You can see a snapshot at http://www.netwinder.org/~ralphs/images/bigbeowulf.jpg (there are also some other NetWinder snapshots in that directory).

Last changed on Sun Dec 13 14:35:39 1998 by RalphS


5.13. SuSE

Bodo Bauer has started on an unofficial port of the SuSE distribution to the NetWinder. http://www.suse.com/~bb/

Last changed on Mon Nov 2 03:47:41 1998 by Jim Tittsler


5.14. MP3

Since the StrongARM processor lacks floating point hardware, playing MP3 files on a NetWinder is a bit tricky. Luckily there are a few options.

A commercial product is available from MpegTV. Their player consumes about 25% of CPU power and uses fixed point math. http://www.xaudio.com/downloads/#linux

A free alternative is madplay (http://www.mars.org/home/rob/proj/mpeg/). It compiles right out of the box and works very well, with negligible CPU load.

Last changed on Fri Oct 19 00:23:50 2001 by RalphS


5.15. Kaffe

Raffaele Sena did a lot of work getting Kaffe (Personal Java 1.1 compliant environment) to work on the NetWinder very early on. He fed the changes necessary back to Transvirtual, so you can now obtain an easy to 'make' package or pre-compiled binaries as part of the main Kaffe distribution.

http://www.transvirtual.com/

Last changed on Wed Nov 4 06:06:57 1998 by Jim Tittsler


5.16. Corel floating point emulator

Due to licensing restrictions with the Acorn floating point emulator, Corel decided to write a free alternative. Scott Bambrough has long ago completed the basic code, which has been included in the kernel for some time. It is called NWFPE and you can find documetation about it in the Documentation/arm/nwfpe directory in any recent kernel source tree.

More recently, Phil Blundel and some others have been working to try and inprove efficiency of the floating point emulator. I belive this is being done primarily in the 2.4.x kernel series.

Last changed on Fri Oct 19 00:15:30 2001 by RalphS


5.17. Motif

Metro Link is offering Motif Complete! for NetWinder. This includes Motif versions 1.2, 2.0 and 2.1 on one CD. Currently these versions are available: 1.2.4, 2.0.1, 2.1.30.

  http://www.metrolink.com/products/motif/motifcomplete.html                    
Open Motif, is a source code version of Motif®, available under a public license, the effect of which allows Open Motif to be distributed, royalty free, when the platform upon which it is shipped is Open Source. There are also binaries available, but unfortunately not for ARM.

  http://www.opengroup.org/openmotif/                                             
nc-labs did offer Motif for the NetWinder, but they don't appear to now.

  http://www.nc-labs.com/

Last changed on Fri Mar 28 12:01:57 2003 by Martin Lightheart


5.18. IR

Ryan Shillington has been working on IR remote control code for the NetWinder.
 http://www.netwinder.org/~ryansh/
He has also been working on the IR connection between the NetWinder and a Palm III (Pilot). It is still a little shakey, but reportedly working.

Information about the Linux/IR project, including IrDA's IrLan and IrLmp protocols, is available from http://www.cs.uit.no/~dagb/irda/

Last changed on Tue Dec 15 23:36:49 1998 by Jim Tittsler


5.19. JRE

Corel Computer once made JRE 1.1.6 available for download, but after the sale of the NetWinder to Rebel.com Inc it no longer seems to be available from either Corel or Rebel.com

However, Blackdown.org has a JRE 1.1.8v1 available.

See http://blackdown.org/java-linux/ports.html for details.

Last changed on Wed Apr 5 12:10:44 2000 by Eric LaForest


5.20. ARM emulation

Russ Herrold points out that there is a neat project that emulates ARM processors (and others). From the project homepage:

"QEMU is a FAST! processor emulator. By using dynamic translation it achieves a reasonnable speed while being easy to port on new host CPUs. QEMU has two operating modes:

- User mode emulation. In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. Linux system calls are converted because of endianness and 32/64 bit mismatches. Wine (Windows emulation) and DOSEMU (DOS emulation) are the main targets for QEMU.

- Full system emulation. In this mode, QEMU emulates a full system, including a processor and various peripherials. Currently, it is only used to launch an x86 Linux kernel on an x86 Linux system. It enables easier testing and debugging of system code. It can also be used to provide virtual hosting of several virtual PC on a single server.

As QEMU requires no host kernel patches to run, it is very safe and easy to use."

See http://fabrice.bellard.free.fr/qemu/

Last changed on Fri Jun 27 12:30:10 2003 by Ralph Siemsen


5.21. Steel Bank Common Lisp

Lars Brinkhoff is in the process of adding ARM support into the Lisp compiler of SBCL. Details can be found at: http://www.sbcl.org/ This is still at a very early stage, so don't expect rapid progress.

Last changed on Thu Aug 7 08:30:12 2003 by RalphS


7. Networking


7.1. What are my NetWinder's MAC addresses?

Andrew Mileski explained on the general mailing list that the MAC address is based on the NetWinder serial number.
 00:10:57:00:XX:XX  10baseT
 00:10:57:C0:XX:XX  10/100baseT
where XXXX is the serial number in hex. This was originally going to be the serial number that appears on the Corel printed label (and in fact early Rev 4 machines do have such a serial number). It is now referred to as the "board serial number" by 'cat /proc/cpuinfo'

On current machines, you can still find the NetWinder's MAC address (and "board serial number") without turning it on by peering in the slots on the bottom and reading the (decimal) serial number off the white printed label that is attached to the motherboard.

Last changed on Thu Oct 29 04:03:51 1998 by Jim Tittsler


7.2. Interrupted while interrupts are masked!

There is a "reported issue" that can cause the NetWinder to display the message
  eth0: Interrupted while interrupts are masked! isr=0x1 imr=0x0
during Ethernet activity. Corel's Zac Sprackett says that it should not affect the performance of your NetWinder.

Last changed on Sat Aug 15 03:58:52 1998 by Jim Tittsler


7.3. How do I install the PPP module?

Kendall Willets found that this sequence of steps works:
  cd /lib/modules
  mv ppp.o misc
  mv slhc.o misc
  insmod slhc
  insmod ppp

Last changed on Mon Aug 24 23:23:47 1998 by Jim Tittsler


7.4. How do I use the 100Mbit Ethernet port? (aka tulip, eth1)

Just plug it in to a 100Mbit network. The ETH1 100/10 MBit port can not be used by NeTTrom for network booting.

Also note that the LINK LED for the 10/100Mbit port is inverted. It is off when the link is active.

Starting with kernel 2.0.35 (dated 1998.12.10 and later) you need to

 insmod tulip_upgd
once and then reboot the machine. This writes to the EEPROM and eliminates the error messages you might have been seeing about its state during booting. From that point on, the standard tulip.o module will work. tulip_upgd is available from ftp://ftp.netwinder.org/pub/netwinder/kernel/modules/ (As with all kernel upgrades check for documentation at http://www.netwinder.org/~ralphs/).

If you are using 2.2 kernels, instead of the above you will need to use:

 insmod -f tulip_upgd-2.2.o
which you can get from the same place listed above.

Last changed on Wed Nov 3 18:32:05 1999 by RalphS


7.5. NFS silly_rename cleanup failed

If you have booted with the root filesystem on NFS, when you shutdown you will see the message
	NFS silly_rename cleanup failed (err = 512)
or sometimes other numbers. This is mostly harmless warning, telling you that the NFS lock file could not be removed (because at the time, the filesystem has been marked read-only).

There is nothing to worry about; if you are paranoid, then you might go and delete the NFS lock files that are left behind with a command of the form

	find / -name '.nfs*' -exec rm {} \;

Last changed on Sun Dec 13 15:19:09 1998 by RalphS


7.6. xDSL connections via PPPoE

Happily, the NetWinder supports PPP-over-Ethernet (PPPoE) connections right out of the box.

OfficeServer has everything already setup, you must just enter your client name and password into the appropriate fields on the networking page.

For Developer (DM) software, you must configure it manually. The recommended approach depends on which kernel verison you are using. For the 2.4.x kernel series, you can use the rp-pppoe package, available from http://www.roaringpenguin.com. Pre-built binary RPM packages are available at ftp://ftp.netwinder.org/users/r/ralphs/, you will want rp-pppoe-3.4-1.armv4l.rpm and possibly ppp-2.4.1-3.armv4l.rpm. (These packages are for dm-3.1 image, to use it on a dm-3.9 please recompile from the corresponding source RPM).

For DM running 2.2.x kernels, eg. 2.2.19, follow the advice given by Martin Lightheart:

A: First get the rpm file for the user space tools. You can get the in the directory ftp://ftp.netwinder.org/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) (do not include the < > signs around 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 uncoment 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                                              
-----------------------------------------------

Also put your password in /etc/ppp/pap-secrets file (again, do not include the < > signs around your username).

  #---- 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).

Last changed on Tue May 14 09:59:15 2002 by RalphS


7.7. MTU settings for PPPoE

Many ISPs are using PPP-over-ethernet with their ADSL service offerings. Fortunately, support for this is fairly straightforward under Linux. OfficeServer already includes the necessary software; for DM images you need to install some packages manually (see the FAQ entry 7.6 "xDSL connections via PPPoE" for details).

One of the difficulties of PPPoE is that packet sizes are slightly truncated. This is necessary since ethernet frames normally allow up to 1500 bytes, however, since the PPP protocol is encapsulated inside, a few bytes must be reserved for the PPP packet headers. As a result, the maximum packet size drops slightly, to somewhere in the 1400 byte range. The exact number of bytes depends on the implementation.

It is necessary to tell the netwinder the maximum packet size (MTU) otherwise packets will get fragmented, leading to poor performace and possibly no connectivity. This is done in the /etc/ppp/options.PPPoE config file, look for "mtu" and "mru" and change the values accordingly. Restart the network service after making the change.

Ian Carter reports that Magma Communications in Ottawa requires an MTU of 1400 bytes.

Andre Laurent reports that Bell Canada uses an MTU of 1492 bytes.

Last changed on Tue Jun 24 09:46:18 2003 by Ralph Siemsen


8. OfficeServer


8.1. Unable to boot after upgrading disk image...

If you get the following error:

  EXT2-fs: 03:01: couldn't mount because of unsupported optional features.
  mk_doboot_manager(): /dev/hda1 is not a valid ext2 / iso9660 filesystem
The NeTTrom, currently, uses a 2.0.3x kernel. When you build mke2fs with a recent glibc and a 2.2 kernel, the default behaviour is to use 2.2 options like sparse super blocks and filetypes which are not compatible with 2.0.3x kernels.

This can be seen in the filesystem options section. Take a look with something similar to "dumpe2fs /dev/hda1". mke2fs uses these new defaults if running with a 2.2 kernel.

The problem comes from the fact that the current, NeTTrom does not support the "filetype" option. The NeTTrom does support the sparse option.

There are two solutions to this problem.

1) When formatting the partition, call mke2fs with the option "-O sparse_super", or with "-O none". I recommend the first, though.

        mke2fs -O sparse_super /dev/hda1
2) If you already have a formated partition and do not want to redo it, the following may work:

        tune2fs -O ^filetype /dev/hda1
        e2fsck -vy /dev/hda1
Don't forget to check the filesystem afterwards. Pass the -y option to e2fsck... You may run into trouble if /dev/hda1 is a full filesystem.

Last changed on Thu Jun 1 10:04:28 2000 by Scott Bambrough


8.2. RebelRemote VPN shutting down for no reason

All version of OfficeServer have a bug that will cause RebelRemote (and possibly some other services) to be stopped, once per week, when the apache log files are rotated. This typically would happen Sunday night at 4AM or shortly theafter. Log file rotation is a good thing since it will prevent your hard disk from filling up with endless logs.

To work around the problem, after starting the RebelRemote service in the GUI, just reboot your netwinder. That way, the service will be started automatically (without you having used the GUI). And then it should keep running even when log file rotation occurs.

Thanks to Spencer for pointing this out.

Last changed on Sat Feb 16 18:42:31 2002 by RalphS


8.3. How to use dhcpcd instead of pump

The OfficeServer normally uses pump to obtain a DHCP lease on high-speed cable internet. While this used to work fine, it seems that certain cable providers (particularly Rogers in Canada) need the client name (cr-7XXXXXXa) in every packet. The easiest way to to this is to use a different DHCP client program.

To install dhcpcd instead of pump, first get the dhcpcd RPM package from ftp://ftp.netwinder.org/users/s/seanm/redhat/RPMS/. Then install it on your system using the "rpm -i dhcpcd*" command.

To use dhcpcd automatically, you have to edit the /etc/sysconfig/network-scripts/ifup script. Search for the words "pump", this will lead you to a line that looks like this:

    if /sbin/pump $PUMPARGS -i $DEVICE ; then
This should be changed to:
    if /usr/sbin/dhcpcd -h cr-79XXXXXXa $DEVICE ; then
wheren you have used the appropriate client identifier for your computer instead of <cr-79XXXXXa>. Also note that the dhcpcd program may be in /sbin instead of /usr/sbin.

Note that by putting your client identifier directly in this script, it no longer matters what value you put in the web GUI interface, since that value won't be used.

John Bradley points out: The ifdown script should also be modifed to call dhcpcd instead of pump. I did the following and it appeared to work...

    /usr/sbin/dhcpcd -k -i ${DEVICE}
instead of the pump line in ifdown.

Last changed on Tue Apr 9 09:00:16 2002 by RalphS


8.4. Resetting the root password

It is possible to reset the root password (and thereafter, any other user password) if you've got physical access to the NetWinder. The steps are:

 1) reboot the netwinder
 2) during the boot-up, at the 5..4..3..2..1 prompt, press any key
 3) enter the command "boot cmd=single" (without the quotation marks)
 4) wait for the boot to complete, it will show a "#" prompt character
 5) type "passwd" and enter a new root password
 6) re-enter the password a second time
 7) type "reboot"
 8) allow the netwinder to boot up normally
Now you can log in as "root" with the password you just set. You can then change passwords for other users using the command:

  passwd <username>
Note for OfficeServer: after changing the passwords this way, you should run /etc/cron.hourly/htpasswd.sh to update the web and samba passwords. Or you can wait one hour for it to happen automatically.

Last changed on Tue May 7 10:49:11 2002 by RalphS


8.5. Complete system recovery from the OfficeServer CD-ROM

To completely reinstall the netwinder officeserver software from the CDROM that came with your netwinder, follow these steps. This assumes you are using a Windows PC. For more details and other options, please see the Rescue-HOWTO, available on www.netwinder.org under the HOWTOs link.

  1) Do a backup of your web pages, config files, etc.
  2) Shutdown and reboot the netwinder
  3) Halt the boot sequence (5..4..3..2..1).
  4) setenv kerndev /dev/hda4
  5) setenv rootdev /dev/hda4
  6) boot
  7) netconfig (set up server for your network)
  8) wipefs (when answering a question answer must be in upper case YES)
  9) mountfs
  10) smbserver
  11) cd /mnt/hdroot
  12) From the PC containing the recovery cdrom, go to the start menu,
      then the run command and enter the IP of the server,
      for example type \\10.1.1.1 into the "run" box
  13) When a connection is made, copy the tar file to /mnt/hdroot
      on the server (just drag'n'drop).
  14) Back on the Netwinder, untar the file with the command
      tar xpzvf tar_file
      where 'tar_file' is the actual name of the file.
  15) exit (the system will reboot)
  16) Let the netwinder boot normally
  17) Logon as root, run nwconfig, to configure networking
  18) reboot
  19) Restore backups
***This works best with a W98 or W95 system as the sharing host of the OfficeServer 2.0 disk.

(Thanks to Ulf Viney)

Last changed on Tue May 7 15:50:11 2002 by RalphS


8.6. Is there an email virus scanner?

We are frequently asked if the NetWinder can scan incoming email for viruses. It is a nice feature to have, unfortunately it is currently not possible on the StrongARM netwinders. Here is an explanation:

The mail transfer agent on your netwinder can pull attachments out of emails as they pass through. But, to decide if an attachment is a virus or not, you must run some sort of code that knows about all the viruses. Such code exists, from Macaffee and such, but only for x86 processors... the existing linux scanners all use the fact that one can run x86 code natively even though is meant for windows, but this does not work on a StrongARM since it does not understand x86 code...

So, we must either write a new tool to check for all possible viruses (lots and lots of work, esp. to maintain it), or hope that a commercial vendor will do so.

Some good news: with all the ARM-based PDAs (iPAQ and friends), there is a good chance that one of the commercial companies will make ARM compatible versions of their software, which would also be usable on the NetWinder.

Last changed on Mon May 13 11:37:18 2002 by RalphS


8.7. Restoring permission/ownership of Officeserver GUI files

Occasionally folks have managed to damage the officeserver GUI by a "chmod -R" or "chroot -R" command gone astray. To function properly, the CGI scripts in /home/httpd/cgi-bin/netwinder must have correct ownership and permissions on them. Some of these scripts are SETUID, so that they will run as root when the webserver executes them. Anytime you edit one of these scripts, it will lose the SETUID bit, and you have to restore it manually.

Andrew Mileski came up with a fairly simple way to restore all the permissions as they should be. It makes use of the fact that the package manager ("rpm") keeps a database of all the files and their permissions/ownerships. We can query this database and produce shell commands that will set the proper permissions on each of the files.

You need to know the name of the package that contains the officeserver code. It is called "officeserver" on older versions, and "os" on newer ones. You can find out which applies on your system by running this command:

    rpm -qf /home/httpd/cgi-bin/netwinder
To restore ownerships of the files you can use this command. You may have to substitute "os" for "officeserver" depending on the results of the previous command.
    rpm -q officeserver --qf '[chown %{FILEUSERNAME}:%{FILEGROUPNAME} %{FILENAMES}\n]' | sh -x
To restore permissions use the following command. Again, substitute "os" for "officeserver" if necessary on your system.
    rpm -q officeserver --qf '[%{FILEMODES:octal} %{FILENAMES}\n]' | sed -e 's/../chmod /' | sh -x
Also, the final "-x" is optional. It will show you the command being executed. Useful if you are getting errors and cannot figure out why.

As an alterative to the above, some folks have apparently got a copy of the officeserver RPM package on the CDROM that came with their NetWinder. You can copy this RPM package to the netwinder and forciby install it over top of the existing one. This should correct all the permissions.

Last changed on Fri Jul 4 18:28:57 2003 by Ralph Siemsen


8.8. Where can I get the latest OfficeServer disk image?

Short answer: You cannot. OfficeServer is a commercial product, and contains some 3rd party commercial software. The rights belong to the company that owns the NetWinder hardware rights (at time of writing, that is NetWinder Inc.)

Longer answer: Netwinder.org is an independant entity, run by volunteers on donated bandwidth. Our primary focus is to support developers, and the occasional end-user problems. Being a commercial product, OfficeServer is "uninteresting" from a development perspective, and results of development could not (easily) be shared. As a result, netwinder.org mostly ignores OfficeServer, other than a bit of end-user support.

If you need a copy of OfficeServer, you have to obtain it from the folks that own the technology. Note that every OfficeServer system should come with a CDROM that includes the disk image. The image is not available for download on netwinder.org or anywhere else.

Please do not ask for the disk images on our mailing lists or newsgroups. If there are people sharing this software, they do so illegally, and we do not want know about it, since it would put us into a precarious legal situation as former employees of Rebel. The company which hosts netwinder.org could also be liable, as they provide us our bandwidth.

As an alternative to OfficeServer, we can offer our port of Redhat 9 (base-nw-9), to which you can easily add webmin (www.webmin.com) if you like remote web administration features. If there is enough demand, we might make a disk image with webmin already setup.

Last changed on Fri Oct 24 13:37:43 2003 by RalphS


9. About this FAQ


9.1. FAQ Wizard

This FAQ is being maintained with Guido van Rossum's FAQ Wizard, which is distributed with Python (http://www.python.org/). All of the developers on NetWinder.org are encouraged to contribute.

It was inspired by FAQ efforts of Russell Nelson http://www.netwinder.org/~nelson/faq.html and Pat Eyler.

Last changed on Thu Aug 6 03:00:36 1998 by Jim Tittsler


9.2. How to contribute

This FAQ is maintained by <webmaster@netwinder.org> with contributions from many developers. If you've got something you'd like to see included in this FAQ, please submit it myself via email. Please note that the FAQ is intended to provide answers to common questions, not just the questions. If you need help with a NetWinder-related issue, the appropriate forum for those questions are the various newsgroups (netwinder.general or netwinder.devel).

Last changed on Fri Oct 19 00:19:01 2001 by RalphS


Jump to NetWinder.Org / Feedback to Webmaster

This FAQ is a community effort by the developers of NetWinder.Org.

powered by NetWinder