Step 1: Get a USB->Serial adapter.
I actually had the least amount of problems with this step. I went to Best Buy and, by some miracle, they had an open box/returned Dynex USB->Serial (DX-UDBB9). I came home wondering if I was going to have to go scouring the Internet for obscure drivers to work under Solaris, but, to my complete surprise, it worked as soon as I plugged it in without even needing to reboot. So I thought the next part would be the easiest, but it took some head scratching only because I wasn't familiar with enabling forwarding on the Solaris TCP/IP stack.
Step 2: Enable setting up pppd on Solaris
There are two parts to this:
a) Enabling forwarding of TCP/IP packets.
This part gave me headaches because under Linux it's: echo 1 > /proc/sys/net/ipv4/ip_forward
Under Solaris, after much searching, I found the obscure equivalent: routeadm -e ipv4-routing -u
If you're running a firewall or firewall rules on your Solaris box then you may have to adjust some/all of your rule sets to accommodate this setting. I leave this to you because I don't run any firewall rules on my box since I'm behind a firewall appliance.
b) The actual pppd command.
I haven't created an elaborate SMF service or anything else (yet) so I open a terminal and then execute the following (as root): pppd cua/0 115200 noauth proxyarp nocrtscts nobsdcomp nodeflate persist local lcp-max-configure 28800 asyncmap 0 passive netmask 255.255.255.0 192.168.a.x:192.168.a.y
Where a is your local number (e.g. 0 for 192.168.0.x)
x is an unused number on your network (e.g. 253)
y is an unused number on your network (e.g. 254)
cua/0 is the /dev on my Solaris box for the USB->Serial adapter.
If you're in doubt you can launch the Device Driver Utility (located under Applications->System Tools) and look at the devfs path for your serial adapter then see what file under /dev is linked to it.
Anyone looking for the modifications on the TiVO end of things can look here