Making the ViewSonic Tablet PC Run Linux
A few months ago, I was talking to the owner of a locally run ISP, Mutual Data Services, and he mentioned he had purchased a ViewSonic Tablet PC some months before. He planned to use it at his various wireless access points to do maintenance on his equipment. It came with Windows 98, and he was not impressed. As he puts it:
Imagine our frustration that the tablet we paid big bucks for crashed as a daily occurrence. The manufacturer refused to allow us to return it, saying the operating system is the problem. We would do a restore, and it would run for a day and then crash again. We gave up on using it as designed and thought maybe Linux would work and save the tablet from the junk box.
I offered to take the system and put Linux on it. The first thing I did was Google to see if I could find any information on installing Linux on this hardware, but I found nothing. So I thought it might be useful to other owners of this model to write this article. If others ran into the same situation that Mutual Data Services did, several of these systems may be lying around and gathering dust.
I start by explaining what extra equipment I needed to acquire even to attempt the installation, what system settings had to be tweaked and which features work on this hardware. Then, I discuss what software was installed to make this system useful for my friend's desired tasks.
The system itself is a ViewSonic ViewPad 1000 (Figure 1). It has 256MB of RAM, a 20GB hard drive, a wireless infrared keyboard with integrated pointing device and a touchscreen. The built-in video is an SiS630 chipset video device, which can support the screen at 800x600 resolution and 16-bit color depth. For networking, it has an SiS900 10/100 wired Ethernet port and a Harris Prism Wavelan chipset 802.11 Ethernet radio. We are able to expand the system by way of two USB connectors, a PCMCIA slot and a single serial port. Sound input and output jacks also are provided, as are built-in speakers attached to an SiS PCI audio device, a docking connector, a built-in Winmodem and a webcam.
Figure 1. The ViewSonice ViewPad 1000
I am not very fond of the included wireless infrared keyboard, so I used a USB keyboard and mouse for input. The ISP prefers SMC wireless Ethernet devices, so we eventually are going to install an SMC2532W-B EliteConnect wireless adapter for use, rather than the built-in Wavelan radio. In addition, we have no need for the Winmodem, serial port, webcam or docking port (we do not have a docking station to test it with), so I did not configure them.
In addition to the hardware on the system itself, I added the USB keyboard and mouse mentioned above, plus an external USB optical drive for installing the system. The system does not boot from a USB CD-ROM device, so we have the option of booting either from the network or from an external USB floppy drive. We had access to the external floppy, so we went that route.
I chose SuSE 9.0 for the installation system. It has built-in profile management; comes with an installation DVD, which saves some disk swapping; and I already was familiar with it.
For the installation we needed to create a boot floppy and module floppies. For this particular system we needed only the modules1 (for USB drivers) and modules4 (for PCMCIA drivers and filesystems) disks. These images are found in the /boot directory on the installation DVD. The README file in that directory contains instructions for creating the disks from those images.
The first thing to do is plug in all the USB peripherals. I put the external floppy drive on one USB port and the keyboard, mouse and DVD-ROM on the other. Next, I needed to configure the BIOS for USB floppy boot, because the default is to boot first from the internal hard drive. At power-up, pressing the Del key took me to the BIOS configuration utility (either the USB or wireless keyboard for this).
From the BIOS configuration screen, I selected Advanced CMOS Setup and then stepped down to the Boot Device section (Figure 2). For the 1st Boot Device, I choose USB Floppy, and for 2nd Boot Device, I choose IDE-0 (Figure 3). This is the same way in which most PCs with a floppy are configured by default.
Figure 2. Configuring the Boot Device
Figure 3. The Second Boot Device
After changing those settings, I pressed Esc to go back to the main CMOS menu. From there, F10 allowed me to save the settings and exit. On exit, the system restarts, so I made sure the floppy drive and optical drives were plugged into the system with the boot floppy and installation CD in them.
At the boot screen, I selected Installation, and the kernel was loaded from the floppy. It took a couple of minutes to complete, but a progress bar showed feedback. When prompted for module disk #1, I ejected the boot floppy, inserted module disk #1, pressed Enter and waited another couple of minutes, watching the progress meter.
The initial boot process then completed, and when the install detected the PCMCIA chipset it requested modules disk #4. I ejected the current disk, inserted the modules #4 disk and pressed Enter. Loading from this disk took about only 30 seconds, at which point the install continued.
Leave most of the defaults on the installation configuration screen: New Install, automatic partitioning, English keyboard, USB Mouse and so on. I initially was concerned the IR keyboard and pointer controls would not be recognized at installation time by the system, because they were wireless infrared--that is why the USB keyboard and mouse were on hand. The ViewSonic keyboard and pointer were seen by the system as regular PS/2-style input devices, however, so there was no problem. Because I prefer the feel of my USB keyboard and prefer a mouse to the pointer controls on the keyboard, I plugged them in. The install was able to use them with no problem. At the installation packages screen, I added full GNOME, the Network/Server group, the C/C++ compiler and tools and any other packages needed to fulfill dependencies. I also set the timezone and set the hardware clock to UTC.
After these alterations, I accepted the changes and confirmed that I wanted the installation to start. I had an external DVD drive, so there was only one installation DVD. At this point, I went to bed and let the install run into the night.
The next morning the installation process was up to the Enter a root password stage. I gave it a password twice, and it went on to the network configuration. I had it connected to the LAN for initial installation, so I selected eth0 to be configured with DHCP. Then came a problem with the network hardware setup.
I had a cable plugged into the Ethernet port on one end and a Netgear FVS318 port on the other, but the lights on the devices did not indicate an electronic connection. Suspecting a bad cable, I replaced it--no luck. Suspecting a problem with the Tablet's Ethernets port, I tried a different hub. I plugged the Ethernet cable into an old 10Mbps NDC SOHOware Hub that I had lying around. That connection worked, so I plugged a cable from the SOHO's daisy chain port to the Netgear, and all was well.
Near the end of installation, I was presented with a dialog to check for on-line updates, which I did so as to bring the system up to date. I configured it as a Stand-Alone Machine rather than a server, so the install required the creation of a normal user. I did this even though the user probably will run as root most of the time. When I come to the Hardware Configuration section, I accepted all the defaults for hardware that the install detected.
The system then rebooted. The first time it came back up, the USB keyboard and mouse were not detected, which was strange. Another reboot seemed to fix the problem, and I have not had trouble with them since. Other than this oddity, everything else we were concerned with works. X is up and running, sound comes out of the built-in speakers when I start KDE, the on-board Ethernet is working, the built-in wireless chipset is detected and identified and even the touchscreen works. I also found that the orientation of the screen can be changed easily with SaX2 (Figure 4). This might be a useful feature, because this computer has feet on two adjacent sides.
Figure 4. Changing the Screen Orientation
- Let's Go to Mars with Martian Lander
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- My Childhood in a Cigar Box
- Returning Values from Bash Functions
- Papa's Got a Brand New NAS
- Tech Tip: Really Simple HTTP Server with Python
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- GENIVI Alliance's GENIVI Vehicle Simulator
- Panther MPC, Inc.'s Panther Alpha