[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Upgrade to Buster and perl Device::SerialPort



There is a system here that I upgraded to buster from stretch
which runs a perl program I wrote that accesses a RS-232 dialup
modem over /dev/ttyS0, a native RS-232 port on the mother board.

	It works.  The dialup modem is pretty useless these days
for it's original intended purpose but I wrote a nasty little
program that reads callerID tags and lets telemarketers take a
trip down Memory Lane when they repeatedly call us.

	There is another system whose hard drive crashed a couple
of weeks ago so I put stretch on it from a netinstall disk and
promptly upgraded it to buster before installing cpanplus and
Device::SerialPort as the less software you have, the smoother
the upgrade, generally.

	Interestingly enough, the system that didn't crash and
was upgraded perl and all from stretch to buster is handling the
modem fine, whistling cheerfully at callers who are too big of a
wuss to properly identify themselves.

	On the system that got perl after the new drive, the
complaint is that none of the parameters such as baud rate,
handshake and all other trates throw errors right and left about
uninitiallised variables, the variable being the port that was
previously defined.  It's like the port isn't there.  The first
program I tried that exhibited this behavior was one that
accesses /dev/ttyACM0, a device that shows up if you plug a
Uniden scanner radio in to a usb port.  In stretch days, it
nicely acted as a RS-232 port.  Right now, it shows up as soon as
the cable is connected but the program I wrote in perl to control
it throws the same errors.

	Obviously, the two boxes are separate hardware and the
cable to the radio scanner is not long enough to stretch over to
that same box to see if it works there, but I suspect it might.
I think the difference is that perl was added after the buster
upgrade on the serially-deaf box and neither the virtual usb
serial port nor the actual hardware serial port seem to work any
more even though they show up in /dev and the /dev/ACM0 port goes
away when unplugged.

	Any ideas as to what is going on here?

	I am also a member of a perl discussion list but I
thought I would start here as this problem is directly related to
buster VS stretch.  With stretch, it all worked.

	The only other possibility is that there may be a
recommended syntax for perl and serial ports that I got by with
violating in earlier Linux and now the chickens have come home to
roost and I need to do it differently but much of what I wrote is
stolen from other code examples so I bet it is something in
buster that isn't right yet.

	Any suggestions are much appreciated.

	Martin McCormick WB5AGZ


Reply to: