WiFi PDA Meets Linux--Part 1

By: Rob Reilly
Thursday, March 31, 2005 03:56:48 PM EST
URL: http://www.linuxplanet.com/linuxplanet/reports/5799/1/

Introduction

Putting Linux on a PDA is an intriguing idea.

Forget about it... for now.

I think companies or individuals would be much better served by leveraging the quick startup and WiFi capability of current PDAs into their Linux infrastructures and business processes, instead of trying to put Linux on those PDAs.

In this series I'll give tips and observations on using a current generation WiFi enabled PDA with Linux desktops and servers. My plan is to save you some research time by showing you what has worked for me, using a standard off-the-shelf PDA and my Linux run operation. My hope is that some sparks will fly on how you can effectively use WiFi PDAs in your own projects.

Topics we'll cover in the series:

  • Set up a generic WiFi PDA on your LAN.
  • Browsing the Web.
  • Set up a Samba server for WiFi PDA connectivity.
  • PDA printing to your CUPS server.
  • Web page design considerations for WiFi PDAs.
  • Audio (file server and streaming) and your WiFi PDA.
  • Video files and your WiFi PDA.
  • Set up a VPN between your WiFi PDA and your IPCop firewall.
  • Does Skype VOIP on Linux talk to a PDA?
  • Other topics, as they develop.

I can only cover a topic or two in each article. In this story we'll start out with the big foundation step: getting a PDA working on a network via WiFi.

Subsequent stories will look at how you can integrate the various functionalities into your business. Rest assured that I won't cover a topic unless it has both WiFi PDA and Linux components.

Ultimate WiFi Portability--The HP 3715

I chose an HP iPAQ model for a couple of reasons:

  • It has built-in 802.11b capability on many models.
  • Reads and writes standard Microsoft .doc and .xls files.

I specifically chose the HP 3715 Mobile Media Companion because:

  • Good sound card capabilities.
  • Can record sounds to a .wav file.
  • 8 hour battery life.
  • Color 320x240, landscape/portrait mode screen.
  • 152 MB on-board memory, in addition to an SD memory card slot.

I looked at the PalmOne lineup of products and concluded that only the Tungsten C had built-in 802.11b capability. Kind of made wonder if they were that interested in WiFi. That may change in the future, so for now I'll stick with HP.

I know, I know. Ideally, I'd like to use OpenOffice.org for my editing jobs, but unfortunately, it's not available on the iPAQ, yet. The next best thing is to use Pocket Word and Excel (on the iPAQ) to edit files I've generated on my Linux machines (OpenOffice.org files saved in .doc or .xls format). One good thing I found out is that there are quite a few down-loadable free/shareware packages that are available for use on the iPAQ's Pocket PC 2003 operating system.

Tackling A Basic Connection, Then On To Samba

The HP marketing speak leads you to believe that setting up the HP 3715, for network/file server connectivity, is a breeze. I guess they were talking about getting an IP address and cruising the Web. Connecting to a file server was a little more involved and will be covered shortly.

Connecting to a LAN, of any type, to browse the Web is pretty simple. Here's how it's done, assuming that your router/firewall is set up to divvy out LAN IP addresses using DHCP. On the iPAQ:

  • Select the iPAQ Wireless item on the Start menu.
  • Select the ALL OFF button to disconnect from any previous access points.
  • Tap the big WiFi button (the white/red x will go off and the button will turn brown).

A New Network pop-up may appear, showing your LAN (WiFi access point) name. If it's the one you want simply select Work and then Connect. This will usually get you an IP address from your local DHCP server machine. If you succeed in obtaining a DHCP served address, the WiFI button on the iPAQ Wireless screen will turn green.

Assuming you have access rights through your access point/firewall, you should now be able to start up Internet Explorer under the Start menu and browse Web pages. This also works "out in the wild" at public access points.

Follow these steps to configure your iPAQ's address manually (or choose between DHCP and manual):

  • Select Start.
  • Select Settings.
  • Choose the Connections tab, at the bottom.
  • Select Network Cards.
  • Choose the Network Adapters tab, at the bottom.
  • Select the HP iPAQ WiFi Adapter menu item.

The HP iPAQ WiFi Adapter screen is the place where you change the IP address and can add/edit the Name Server data (by selecting the Name Servers tab, at the bottom).

When you are finished adjusting your IP address information, OK your way back to the main iPAQ screen.

You should now be able to browse the Web. Getting this basic functionality working will verify connectivity on your iPAQ and prepare you for the iPAQ to Samba file server configuration process.

Connecting to a Samba file server was a tiny bit of a challenge, because based on my search of the Web, it's uncharted territory.

iPAQ Calling Samba Leader... Over

Naturally, we'll need a working Samba server. My test Samba server had an early Pentium processor, 128 MB of RAM, a 4 MB system disk and a 30 MB storage disk. It also has a 10/100 NIC, runs SUSE Linux and is headless. Instead of covering all the details here, I'll kindly refer you to one of my old articles describing the Samba set up process at:

http://www.melbpc.org.au/pcupdate/2403/2403article7.htm

That will get the basic server running. We also need to make sure a few lines are in the Samba config file, so the iPAQ can find it on the network.

Here's my /etc/samba/smb.conf file:

# smb.conf is the main samba configuration file. 
 
[global] 
     	    wins support = Yes 
            preferred master = Yes 
            workgroup = robnet 
            os level = 255 
            time server = Yes 
            unix extensions = Yes 
            encrypt passwords = Yes 
            local master = Yes 
            security = user 
            log level = 1 
            syslog = 0 
            printing = CUPS 
            printcap name = CUPS 
            socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY 
 
[homes] 
            comment = Home Directories 
            valid users = %S 
            browseable = Yes 
            read only = No 
 
[printers] 
            comment = All Printers 
            path = /disk2/tmp 
            printable = Yes 
            create mask = 0600 
            browseable = No 
 
[print$] 
            comment = Printer Drivers 
            path = /var/lib/samba/drivers 
            write list = @ntadmin root 
            force group = ntadmin 
            create mask = 0664 
            directory mask = 0775 
 
[disk2] 
            browseable = yes 
            read only = no 
            path = /disk2 

This smb.conf file resides on an SUSE Linux machine in the /etc/samba directory. Other distributions could have the file in a different directory.

Also note that the iPAQ seems to require the wins support, preferred master, and local master lines in order to connect.

The [disk2] entry represents my server's 30 GB server disk. Here are the steps needed to connect the iPAQ to the Samba server.

On the Samba box

  • Edit and save the /etc/samba/smb.conf (SUSE Linux) file.
  • Restart the Samba and NMB servers. On the SUSE Linux command line used: root# rcsmb restart root# rcnmb restart

On the iPAQ

  • Under Start (might need to go to Programs) select File Explorer.
  • Select the remote server icon (hand with a disk drive) at the bottom of the screen.
  • On the Open screen, type in the machine name (Windows name) and the shared directory, followed by OK. To connect to the disk2 directory on my "moe" Samba server machine I typed:
    \\moe\disk2
  • When the Network Log-On screen appears type in your user name and password (you did set up a user name and password to access your directory share when you built Samba, right?).

If all is correct, you should see a listing of the remote Samba directory. Double-click on a directory to travel to that directory. If you want to go back up in the tree, click on the tiny arrow at the top of the File Explorer screen, to the right of the remote server (hand) icon.

To copy a file from your remote Samba drive to your local iPAQ data story directory:

  • Select and hold the stylus on your file or directory.
  • Select copy from the pop-up menu.
  • Click on the iPAQ data share icon (middle icon at the bottom with a red mark on it).
  • Click the Edit item at the bottom right of the screen.
  • Select Paste to copy the file into the iPAQ data share directory.
  • If you want to save the file somewhere else, you can navigate to other directories on the iPAQ (or Samba machine, if you have write permission) by using the tiny arrow at the top of the screen again and choosing a new directory.

If you have a Windows machine on your network, you can connect to it using the same technique. The iPAQ File Explorer can connect to multiple servers (or Windows shared drives), but you can only view one directory at a time. I could flip between my "larry" (Windows 98 machine with file sharing on) and "moe" Samba server drive, simply by clicking and choosing the path, on the remote server icon.

Connecting to the Samba server seemed a little quirky. Occasionally, it would take a couple of clicks on the remote server icon to get the Login Screen. I didn't find the same trouble connecting to the "larry" Windows shared drive. I suspect that a parameter might be off a little in my smb.conf file, but I haven't been able to run it down yet.

Another problem I found was that I was unable to connect to my Samba server using it's IP address. Then again, I couldn't connect to "larry" using his IP address either. Might be a characteristic of Windows CE on the iPAQ.

Once connected (using the machine names) I could consistently flip back and forth between remote drives.

Next Steps

In this article, we've looked at putting a WiFi enabled iPAQ on a LAN, browsing the Web and connecting to a Samba server. Other PDAs will follow similar processes.

Here's a list of things you can try, in preparation for some of the upcoming PDA/Linux stories, now that you have basic WiFi functionality working.

  • Copy an OpenOffice.org Writer file (how about your resume?) to the iPAQ and bring it up in Pocket Word. You'll need to save it in .doc format, so Pocket Word can read it.
  • Copy an OpenOffice.org Calc file to the iPAQ and look at it in Pocket Excel.
  • Experiment with the the iPAQ's Internet Explorer View -> Layout -> One Column, Desktop settings, to see how it renders different Web pages.
  • Download a couple of files from the Web into the iPAQ data store directory, to see how that functions.

As always, I welcome and encourage comments from readers. In the spirit of open source, be sure to add your WiFi PDA/Linux experiences into the talk backs, so others can benefit too.

Rob Reilly is a consultant, writer, and commentator who advises clients on business & technology projects. His Linux, personal branding, and public speaking skills-related articles regularly appear in various high-end Linux and business media outlets. Send him a note or visit his Web site at http://home.earthlink.net/~robreilly.

Copyright Jupitermedia Corp. All Rights Reserved.