#!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org START=71 NAME="SETserial" set_serial() { local name local speed local parity local databits local stopbits local handshake local configstring config_get name $1 name "ttyS0" config_get speed $1 speed "115200" config_get parity $1 parity "none" config_get databits $1 databits "8" config_get stopbits $1 stopbits "1" config_get handshake $1 handshake "none" configstring="$speed cs$databits" case $stopbits in 1) configstring="$configstring -cstopb";; 2) configstring="$configstring cstopb";; *) configstring="$configstring -cstopb";; esac case $parity in none) configstring="$configstring -parenb";; even) configstring="$configstring parenb -parodd";; odd) configstring="$configstring parenb parodd";; *) configstring="$configstring -parenb";; esac case $handshake in none) configstring="$configstring -crtscts -ixoff";; xonxoff | xon | xoff) configstring="$configstring -crtscts ixoff";; rtscts | rts | cts) configstring="$configstring crtscts -ixoff";; *) configstring="$configstring -crtscts -ixoff";; esac logger -t "SETserial" "/dev/$name TO $configstring" /usr/bin/stty -F /dev/$name $configstring } start() { config_load serial for ser_port in `ls /dev/. | grep tty*S*`; do # config serial port config_foreach set_serial $ser_port done }