Friday October 13, 2006 Well it's been almost a year since my last Solaris@Home report. I've been busy with a lot of other things and that project has languished as a result. When we last left I had OWW and misterhouse installed. Misterhouse was running but OWW was not. OWW wasn't running since I only had a single serial port and misterhouse was using it. I had yet to get my imap server running.
Well I had a power supply failure in my linux server and that got me moving again. The linux machine is so old it uses an AT style power supply. New versions of those supplies are kind of rare now and expensive in comparison to new supplies. Fortunately I have a lot of old computers and was able to salvage a supply. The handwriting was on the wall for that machine though, I needed to get to the point where I could shut it down.
Well getting the imap server wasn't to bad of a deal. I downloaded cyrus via blastwave and within an hour I had it working and new mailboxes. Spamassassin was another matter. I got that from blastwave also but I'm running razor and pyzor and getting that all together took an evening. Really it was about as much work as when I did it originally on linux. If I had only taken better notes (ok any notes) it would have been a bit faster.
So now I have moved all my email to the solaris machine. I also decided it was time to upgrade. I had been running the original release of Solaris 10 with just a few patches. I got a copy of the S10U2 dvd and installed it. I was really nervous about this since U2 has the change to using grub and I wasn't sure how cleanly this was going to go. I was pleasantly surprised to have zero issues. It just worked. Probably the easiest upgrade I've had with either solaris or linux. Now I can try out zfs. I'd really been wanting to do that.
So the next thing was to get OWW moved to solaris. This meant getting another serial port. Well as luck would have it U2 included support for Prolific PL2303 based usb/serial ports and I've had two of these sitting around unused for a few years. I plugged them in and they were instantly recognized and new serial ports appeared.
This was just a trick to make me think it was going to be easy. When I connected the OneWire interface to the serial port and ran OWW it reported it could see the OneWire interface. So now I started to do some debugging. I hooked up a breakout box and looped the serial port back on itself. Using tip I could see that the port was active. All the handshaking signals (dtr/dsr/rts/dcd/cts) were ok and I could see the led's flash for data going in and out. But I never saw any data echo in tip. More experimentation (actually quite a bit) made it clear that I was sending data fine but couldn't receive it. I was mystified.
I googled for issues with usbsprl and found nothing useful. Here's where it paid to be Sun employee I search the bug database and found the engineer (Lin) that did the usb driver and sent him email describing my situation. He sent back the clues. According to the man page for usbsprl the streams modules ldterm and ttcompat are supposed to be automatically pushed. Using strconf I could see that I only had usbsprl. So on the advice of Lin I did the following:
1 Add the following line to /etc/iu.ap file:
usbsprl -1 0 ldterm ttcompat
2 Run the command, ignore the warnings:
#autopush -f /etc/iu.ap
this immediately fixed the problem and now I could receive data. OWW was happy. One less thing left running on my linux machine.
I suspect that because I had upgraded to U2 and not done a clean install that the upgrade neglected to modify iu.ap and caused my headache. Hopefully now that I written this up if someone else has the same problem they'll have more luck with google.
Now all that remains is to move my firewall/nat to the solaris machine. I expect that will be another adventure since my experience with networking configs has never been very pleasant.