The Sharp Zaurus® SL-5000D
The hottest PDA available (in 2000, that is)!
This article was published in early 2000, before there was such a thing as a 'SmartPhone'. PDAs and phones were separate devices, not to converge for several more years. Read on, but put all my gushing into perspective: This was the first device that was PDA sized, and had a full qwerty keyboard. It also ran Linux, had SSH, LAN and WIFI capabilities and was in general pretty damn cool for the time.
Ok, I'll admit it- I'm a techno geek of the worst kind. And while I can usually control myself when it comes to new gadgets, this time I failed. Completely. I saw the ad in Linux Journal calling for developers for this new toy, and I couldn't resist. I signed up, plunked down my $400, and 2 days later had the single coolest techno gadget on earth in my greedy little hands.
Check out the Sharp Website for more on this very cool little gadget...
So here's a small chronicle of my experiences with my Zaurus... I'll add to this page as time passes and I figure out how to do more cool stuff with it. For now, I'm excited just to ssh into my PDA and play.
First things first - The Zaurus runs Linux (a version called Embedix® made by a company calledLineo. Point one for the Zaurus.
Second, it has a 320x250 TFT Front lit color touch sensitive display. Yummy.
Third, it has a BUILT IN Qwerty keyboard! That's not a mistype!
It comes with a handy little suite of apps like an Opera web browser, Scheduling app, mail client, and a slew of other goodies.
But the best thing that it has is a command line!!! What does this mean? It means that loading your own apps is as simple as running an ftp session to wherever and downloading a binary, and running it. Sound an awful lot like a standard PC, doesn't it?!
So, what'll it do? Well, it'll do a lot of things. Check out ZaurusZone for some cool stuff (still a little sparse, but give it time...). I'll put notes and HOW-To's here as well as I blunder my way through new stuff.
First project: Network the little bugger.
Since I don't have any 802.11b gear (yet), I have to get the USB cradle working first. Actually, it was pretty easy (although I haven't worked out all the kinks yet...). First, I ran into a problem that I haven't been able to solve: I use a Logitech Trackman USB ball mouse. Which is fine - I have more USB ports, but the command to get USB networking to work seems to conflict with the standard usbserial driver that is needed to get the trackball to work. Arrgh. The fix? Ummm..... plug the cradle into the laptop for now. I'll come back and hack away at this issue another time.
So, here's the procedure:
On the laptop (or PC; whatever) run:
[[email protected]]# insmod usbserial vendor=0x4dd product=0x8002
[[email protected]]# pppd /dev/ttyUSB0 noauth 192.168.1.200:192.168.1.201
Now, head to the Zaurus. Fire up a command window (giggle with glee that you can even do this).
bash-2.05# pppd /dev/ttyUSB0 defaultroute usepeerdns
You should now be able to ping across the ppp link! Give delighted whoop and move on.
Of course you can't really do anything yet... there's no telnet or ssh server built into the Z. If yer feeling clever, you can certainly play with IPTables and start your system masquerading packets and then the Z is nicely networked- start surfing!
I however, started by installing openssh. I ftp'ed the file from my laptop to the Z and ran (from the directory that I dumped the openssh .ipk file):
bash-2.05# ipkg install openssh_1.2.3_arm.ipk
All done! I then ran ssh on the laptop, and got right in! Sweet!
OK, now for the most utterly geekified thing I've done with it yet...
I (you may want to sit down for this one...) used my Nokia 7160 Cell phone as a modem. With no cables from the Z to the phone. How, you may gasp?! Simple: I used the IrDA built in to the Z and the phone, and the GSM capabilities of the phone. Basically: run a few commands on the Zaurus, put hte phone nearby and tell it to activate it's IrDA communications. There you go... you're dialing the 'net from your cell, now wires needed thank you very much.
How the heck did you do that?! Simple. First I surfed over tohttp://www.insomniq.com/files/zaurus/IrDA-HOWTO.html and followed his steps line by line. And, (oh yeah) that's it!!!
For those of you who are too stinkin' lazy to go there yerself, here's the basics:
Set up a ppp connection on the Zaurus (in network setup). Set the speed to 19,200. Fire up the command line again. Run:
bash-2.05# echo /dev/ircomm >> /etc/ppp/peers/(your_filename_here)
bash-2.05# irattach /dev/ttyS2 -s 1
bash-2.05# cat /proc/net/irda/discovery
The dmesg output should show a line with IrDA: Registered device irda1
Ifconfig should show an entry for irda1
The output of the cat command should look like:
IrLMP: Discovery log:
nickname: Nokia 7160, hint: 0xb125, saddr: 0x1828b48c, daddr: 0x95290000
Going Wireless with the Z...
I did it... I went out and got an access point and Wireless NIC (802.11b) for the Zaurus. I selected a Linksys WCF-11 for the Z and a Netgear PCMCIA for the Laptop. It was all pretty simple... A small mod to the /home/etc/pcmcia/wlan-ng.conf and added and entry for the WCF-11 (listing below): card "Linksys WCF11 11Mbps 802.11b WLAN Card"
manfid 0x0274, 0x3301
Going Wireless! We haven't been doing a lot with Wireless (IEEE 802.11b) networking because of the security implications, but for the development of this app, wireless seemed like the way to go. So we put in a wireless access point, and plugged a Wireless LAN card into the CF slot on the Zaurus. Moments later, we were browsing the web using Opera (http://www.opera.com). Since the interface to our application is simply a secure http link, we are in business! Next we configured WEP (Wired Equivalent Privacy) on the card and the Access point. We also installed a DMZ interface on the firewall and clamped down what can go where to isolate it's miserable security from the rest of the network. In addition, we tweaked the DHCP server to restrict access to the MAC of the WCF-11 (more layers = harder to crack, although nothing's fer sure these days...)
OK, playing aside, why do YOU have one of these things?!
Actually, we're in the development phase of several enterprise applications. The one of the most relevance is the Headend Manager. The Headend Manager is a suite of applications built for Cable TV companies to manage their 2 way Cable internet service. We have built some leading edge solutions for the cable industry, and we've noticed a definite vaccuum when it comes to a simple, easy way to manage things like adding and removing modems from the DHCP server, managing customer e-mail address lists and info, bandwidth caps and the like. We shopped around a bit, and were stunned to find that there is nothing available that can do what a smaller operator needs for less than about $50,000! We are setting out to fix that.
How does the Zaurus fit into all this? Well, wouldn't it be nice to be able to manage your headend from your PDA? I thought so.
Does this sound like a cool application? Do you have ideas you'd like implemented? Drop me a line at rbennett_AT_thatITguy.com!