| View previous topic :: View next topic |
| Author |
Message |
Cagey EVDO Newbie
Joined: 05 Aug 2007 Posts: 4 Location: San Jose, CA
|
Posted: Sat Sep 01, 2007 8:14 pm Post subject: OpenBSD 4.1 Sprint PX-500 homebrewed router |
|
|
Hi all,
Been running this for 3-4 weeks with no known problems, so I thought I'd pass on what I can for those looking to build a (thus far) solid open-source EVDO router:
OS: OpenBSD 4.1 (free)
Hardware:
* Sprint Pantech PX-500
* Asus Terminator C3 (small form-factor, low power PC) ($100)
* (must supply HDD and RAM separately)
* PCMCIA/Cardbus <-> PCI adapter with RICOH R5C475II chipset ($20 on Ebay)
Any obsolescent PC you have laying around (say, Pentium II w/128M RAM, 8G HDD or better; check the OpenBSD website) would probably do equally well, and cost practically nothing.
The PX-500 has no enhancements (extra antenna, amplifier). The PC box sits near my windowsill to get a good signal.
Performance is equal or better than when it was plugged into my WinXP laptop: 450-650 down, 200-450 up.
Here are the PX-500-specific changes I made:
| Code: | # cat /etc/ppp.conf
default:
set log Phase Chat LCP IPCP CCP tun command
evdo:
set device /dev/cuaU0
set speed 230400
set dial "ABORT NO\\sCARRIER ABORT BUSY TIMEOUT 15 \
\"\" ATZ OK ATQ0V1E1S0=0&C1&D2+FCLASS=0 OK \
ATDT#777 CONNECT"
set login
set timeout 0
enable dns
add default HISADDR
set ifaddr 0 0 0
# cat /etc/ppp/options
lock
noauth
usehostname
# diff rc.local.orig rc.local
11a12,13
> /usr/sbin/ppp -ddial evdo
|
The /etc/ppp.conf settings were derived from the "Linux Setup Guide And Documentation For Sprint EVDO" document linked in this forum.
Uncommented the following line in /etc/sysctl.conf:
| Code: | net.inet.ip.forwarding=1
|
This, if successful, will bring up the EVDO interface on 'tun0', with NAT support enabled. My ethernet LAN interface is 'vr0'.
Next step is to configure pf to firewall and NAT:
| Code: | # cat /etc/pf.conf
ext_if="tun0"
int_if="vr0"
localnet = $int_if:network
ftp_ports = "{ 21 }"
set skip on lo
scrub in
nat on $ext_if from !($ext_if) -> ($ext_if)
block in
pass out
pass quick on $int_if no state
antispoof quick for { lo $int_if }
|
The system transparently recovers from errors, for example [dmesg extract]
| Code: | usb5 at ohci0: USB revision 1.0
uhub5 at usb5
uhub5: NEC OHCI root hub, rev 1.00/1.00, addr 1
uhub5: 1 port with 1 removable, self powered
ohci1 at cardbus0 dev 0 function 1 "NEC USB" rev 0x43: irq 10, version 1.0
usb6 at ohci1: USB revision 1.0
uhub6 at usb6
uhub6: NEC OHCI root hub, rev 1.00/1.00, addr 1
uhub6: 1 port with 1 removable, self powered
umodem0 at uhub5 port 1 configuration 1 interface 0
umodem0: PANTECH PANTECH USB MODEM, rev 1.10/1.00, addr 2, iclass 2/2
umodem0: data interface 1, has CM over data, has break
umodem0: status change notification available
ucom0 at umodem0
umodem0: abnormal status: IOERROR
umodem0: at uhub5 port 1 (addr 2) disconnected
ucom0 detached
umodem0 detached
umodem0 at uhub5 port 1 configuration 1 interface 0
umodem0: PANTECH PANTECH USB MODEM, rev 1.10/1.00, addr 2, iclass 2/2
umodem0: data interface 1, has CM over data, has break
umodem0: status change notification available
ucom0 at umodem0
|
I'm also running a DHCP server ("standard" configuration).
I'm a moderately persistent OpenBSD _neophyte_; the primary trick was getting the PX-500 talking. The rest was a matter of reading (and re-reading) the terrific man pages.
Cagey |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
 Sprint Rev A USB: Compass 597
 Sprint Rev A ExpressCard: Merlin EX720
 Purchase an V740 Rev A ExpressCard
 Sprint U727
 CTR350 Router
 CradlePoint PHS300
 Purchase a MBR1000
 Purchase an EVDO Booster Antenna
 Purchase a LinkSys 3G Router
 Purchase an EVDO Amplifier
 Your Mac EVDO Experts
|