Fighting with computers

Computers are not always friendly.

Wednesday, February 22, 2006

Shiny new laptop

I did it again: I fell for another new toy. This time the winner was the inexpensive Acer 3002 WTMi that packs quite a decent feature set into a small size and weight. I won't bore you with the details, but have a look a it if you're planning to buy a light small form laptop .
It comes with WinXP Home Edition installed and, as usual, you'll have a hard time if you try to get a refund on it. Microsoft's tax seems to be a burden if you buy a laptop either you like it or not. Although I've installed SuSE Linux 10.0 I'm not very happy with the results for the moment. First of all you need not to use APIC for the installation to start. The system installed very quickly and it did one of my FAT32 partitions to shrink without any problem. It took less than 15 minutes to get the install finished.
What I've got working are graphics, WiFi, Bluetooth, Ethernet, DVD-RW and synaptics mouse (the latter even better than with Windows) but sound is missing (it looks like an IRQ routing problem). Power management seems to be missing too, as the laptop gets warmer than when using Windows and battery life seems to be quite poor when running GNU/Linux. The cause of the problems seems to be the improper dsdt file on the kernel. Other people report better results when building a customer kernel with a patched dsdt file. I'll give this approach a try one of these days, but till then, I'll keep myself using WinXP on this cute laptop but please don't tell anybody about this evil behaviour :-)
In the mean time, I'll be working on an magazine article about the practical use of RFC2217 with Rabbit microcontrollers.
Update: I downloaded a fixed dsdt file from this project. Unfortunately my BIOS version (S3B12) was not included there. I've tried the 3B09 one and I recompiled the kernel. Now I can boot the system and acpi seems to work better than before. My sound card is now working, although I had to use alsaconf to get it working. WiFi and Bluetooth are working too, and so is the Gigabit Ethernet port. Synaptics touchpad and keys are working too. I still have to test how good the battery management is. (I have read about some kernel patches to support Smart Battery Systems and I might be trying this out if I do not get a decent running time).

Saturday, February 04, 2006

Breaking your nerves

Dealing with software you cannot change is a risky business. This time I need to emulate a serial communication to fool the software to think it is talking to a directly connected device. I have tested several serial port emulation software with not much luck. However I have to tell you the guys at Fabula Tech have a winner with their Network Serial Port Kit. It worked like a charm, providing a way of sharing a serial port on one computer so a second computer could use it remotely through a network connection. Not only this, but these guys have a fantastic on-line support chat that, contrary to most of them nowadays, they are knowledgeable and they solved my problem at the first shot. Really recomended product and service.

However, I needed a solution I could throw at a client's computer even without network card. I looked around for serial device servers and Digi One SP looked a good choice. I bought a couple of units to see if they could really replace a serial cable (you replace a 3-meter serial cable costing $6 for around $300 of electronic equipment, ... don't tell this to my boss). The point was that by doing this I could check if those devices behaviour was transparent enough for my application.

In short, it didn't work. Again, I could experience a quite good customer support service too. But unfortunately, after several messages exchanged they concluded what I needed was not possible. The problem? Well, my serial connection started with a sequence of break conditions. The software running on the PC waited for these breaks to be received and it created a long break condition in response. The Digi One SP units do forward break conditions to the other end, but they are fixed length (actually you need to talk to the tech support first, as the set line break=send range=1 does not appear anywhere on the product documentation). I needed the units to create an exact copy of the duration of those break conditions so it did not work.

What it did work was when I installed the RealPort(tm) driver supplied with the Digi One. It's a driver that adds a virtual serial port to your computer. You point the driver to the Digi One IP and you can use it as an additional serial port from your computer. With this setup breaks are the right width and everything works ok. I even get this new virtual port to work with Dynamic C to talk to a Rabbit RCM3700 core module. So if you need an extra serial port I recomend you to get a USB-serial dongle, but, if you have $150 to spare (or no USB but a network connection) then get a Digi One.