Skip to contentSkip to conversation

Dropping chars on 16550

DISCUSSION [email protected] 7 participants 14 messages Dec 10, 2000 – Dec 17, 2000

lore
Share & tools
lore
#0 lore raw

Hi folks

What should I do, when I run cdda2wav | gogo (riping CD from a ATAPI CD thru mp3 encoder) and get a continuous dropping of characters, on a 16550- enhanced serial port, without handshake, with full-duplex load of 115200 bps? About 1 of 320 bytes is miscommunicated.

The kernel is 2.2.12.

Clock

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#1 lore raw
Quoted 6 lines · On Sun, 10 Dec 2000 [email protected] wrote:

Hi folks

What should I do, when I run cdda2wav | gogo (riping CD from a ATAPI CD thru mp3 encoder) and get a continuous dropping of characters, on a 16550- enhanced serial port, without handshake, with full-duplex load of 115200 bps? About 1 of 320 bytes is miscommunicated.

Use handshaking

Igmar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#2 lore raw
Quoted 4 lines · On 11-Dec-2000 Igmar Palsenberg wrote:
Quoted 2 lines · On Sun, 10 Dec 2000 [email protected] wrote:

Hi folks

Quoted 8 lines
Quoted 6 lines

What should I do, when I run cdda2wav | gogo (riping CD from a ATAPI CD thru mp3 encoder) and get a continuous dropping of characters, on a 16550-
enhanced serial port, without handshake, with full-duplex load of 115200 bps?
About 1 of 320 bytes is miscommunicated.

Use handshaking

Heh...do what I did. Go on eBay and pick up a Hayes ESP card.

I have a fairly weak system by todays standards, and I found that even with a 16550 serial port, I'd get tcp/ip errors in my logs (and lots of 'em).

They never wrote decent ESP drivers for Windows, but the
Linux drivers are superb. I popped it in, configured it,
and the tcp errors vanished...not a single one in the 10 months I've owned it.

It bugs me that they're making PC's w/o ISA cards now, because
I dont wanna give up my Hayes ESP. Based on what I saw, a 16550
with it's tiny 16-byte buffer, isnt enough.

(yes, I'm stuck with POTS+PPP. Cable modems are available...
but the ISP is @Hoax. Yuck. The only DSL grade I can get is
IDSL -- $70/month. Double yuck.)

--
Mark Orr
[email protected]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#3 lore raw
Quoted 4 lines
Quoted 2 lines

Use handshaking

Heh...do what I did. Go on eBay and pick up a Hayes ESP card.

Hmm.. High speed comm is fine here, as long is I use handshaking. If I don't, I'll loose chars.

Quoted 3 lines

I have a fairly weak system by todays standards, and I found that even with a 16550 serial port, I'd get tcp/ip errors in my logs (and lots of 'em).

Mine used to be a 200MMX until last week :)

Quoted 3 lines

--
Mark Orr
[email protected]

Igmar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#4 lore raw
Quoted 4 lines
Quoted 1 line

Heh...do what I did. Go on eBay and pick up a Hayes ESP card.

Hmm.. High speed comm is fine here, as long is I use handshaking. If I don't, I'll loose chars.

there are many situations in which a 16550 is KNOWN to be overrunable, all of which can occur in your common PPP connection.

More importantly - if you have 2 16550's talking together (Which is EXACTLY what you have, when you hook it to a modem) there are even MORE overrun possibilities. (For instance, when you fill the transmitter up to 16 bytes - on a uart, and then the receiving side suddenly drops RTS, there is *NO* way for that 16550 to stop its transmitter. Once the bytes are in its fifo, it HAS TO SEND THEM.)

This is where a 654 or an 854 (I'm only listing startech design chips. there are others that would do the job.) come in handy. They can pause their transmitter WITH bytes in their fifo. (Automated hardware/software flow control.)

I have no idea why the 16550 caught on as the "De facto standard" like it did. there are UARTS out there that are more efficient, yet cost only a few dollars more to manufacture.

(Your common QUAD 16654 chip costs $20 to an end user, nowadays. Your common QUAD 16554 costs about $15.)

Imagine what the 2-UART chips would cost. (or, mass-produced all-in-1 sets even.)

Really makes you think.

Chad

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#5 lore raw
Quoted 10 lines

there are many situations in which a 16550 is KNOWN to be overrunable, all of which can occur in your common PPP connection.

More importantly - if you have 2 16550's talking together (Which is EXACTLY what you have, when you hook it to a modem) there are even MORE overrun possibilities. (For instance, when you fill the transmitter up to 16 bytes - on a uart, and then the receiving side suddenly drops RTS, there is *NO* way for that 16550 to stop its transmitter. Once the bytes are in its fifo, it HAS TO SEND THEM.)

Indeed. I saw this behaviour some years ago when I was debugging a controller that went beserk when been talked to at a 115k2 buad rate.

My modem isn't on 115k2 now, so I don't see the problem often. I'm gonne setup a second machine with remote kernel debugging, since I'm sick of rebooting when I want to scan something.

Quoted 4 lines

This is where a 654 or an 854 (I'm only listing startech design chips. there are others that would do the job.) come in handy. They can pause their transmitter WITH bytes in their fifo. (Automated hardware/software flow control.)

Indeed. Most chips I've seen are 1 16550, or pretend to be. Probably an issue of cost (At least, I think :))

Quoted 3 lines

I have no idea why the 16550 caught on as the "De facto standard" like it did. there are UARTS out there that are more efficient, yet cost only a few dollars more to manufacture.

Well.. Why is the i386 the defacto standard ? There architectures that are a lot better. Reason it is that the some big company used it, and it got populair.

Quoted 7 lines

(Your common QUAD 16654 chip costs $20 to an end user, nowadays. Your common QUAD 16554 costs about $15.)

Imagine what the 2-UART chips would cost. (or, mass-produced all-in-1 sets even.)

Really makes you think.

Indeed.. Why do they save $15 bucks on a modem chipset, and replace it with a buggy software driven solution... Making things as cheap as possible, to make sure the're chaper then their compatitor.

Quoted 1 line

Chad

Igmar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#6 lore raw
Quoted 7 lines
Quoted 4 lines

This is where a 654 or an 854 (I'm only listing startech design chips. there are others that would do the job.) come in handy. They can pause their transmitter WITH bytes in their fifo. (Automated hardware/software flow control.)

Indeed. Most chips I've seen are 1 16550, or pretend to be. Probably an issue of cost (At least, I think :))

Yeah. most of this crap is manufactured as all-in-1 chips. (IDE, FDC, SER, PAR, etc.) and right along with that, you get 2 16550AFN's. Now. they hyped the heck out of 16550's when they came out, because "You can use your 28.8kbps modem without overruns!". Yeah. clocking it at 38400 or 57600 on a system doing NOTHING ELSE BUT SERIAL.

For a little extra cost - approx. $2.50 (this number could skew a bit, depending on in what quantity they buy), they could put 16652's in there.

Not much support for it on an enduser system yet (our serial.c does, but the MS folks dont support 'em in their generic driver, I dont think) so I think this has some weight in why it doesn't become defacto standard, either.

Quoted 3 lines

Well.. Why is the i386 the defacto standard ? There architectures that are a lot better. Reason it is that the some big company used it, and it got populair.

Heh. Well, serial doesn't even have anything to do with architecture. As long as the machine supports addressable I/O, its capable of running a UART.

And what kind of serial ports do you find on your Alpha? 16550's! Your PowerPC? 16550's! Your PA-RISC box? 16550's! Hey! Even RS/6000's use 16550's!

So while i concur with your statement, it still doesn't explain why the business hasn't chosen to move on yet.

NOTE: The same can also be stated about FLOPPY DRIVES. Why on EARTH would we want 1.44mb media - on a drive that costs $15, and media that costs $.10/ea - when there are things like Zipdrives, where you can get 100mb internal drives for $50, and media for $4? (Thats what FLOPPY DRIVES used to cost!! $60 for the drive, $1-2/ea for the media.)

Quoted 3 lines

Indeed.. Why do they save $15 bucks on a modem chipset, and replace it with a buggy software driven solution... Making things as cheap as possible, to make sure the're chaper then their compatitor.

Good point. But in this particular model, it obviously explains why electronics technology expands in the particular way that it does.

In the year 1970, everyone thought that we'd have transporter beams and spaceships and computers named Hal in the year 2000. What do we *REALLY* have? Technology that makes things more CONVENIENT for people. They also CATER to people who don't want to spend any money.

Celphones. Pagers. Microwaves.

Hey. we even have Web-based grocery delivery guys that arrive in pretty vans. and all you had to do was click!

Our computers use parts that were designed 10 years previous, because nobody wants to spend the money on newer and better stuff.

Chad

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#7 lore raw
Quoted 9 lines

Yeah. most of this crap is manufactured as all-in-1 chips. (IDE, FDC, SER, PAR, etc.) and right along with that, you get 2 16550AFN's. Now. they hyped the heck out of 16550's when they came out, because "You can use your 28.8kbps modem without overruns!". Yeah. clocking it at 38400 or 57600 on a system doing NOTHING ELSE BUT SERIAL.

For a little extra cost - approx. $2.50 (this number could skew a bit, depending on in what quantity they buy), they could put 16652's in there.

In that case you're talking a few dollars on a motherboard that costs at least $100 to produce. I've seen this with all hardware I've seen : The famous HP scanner series come with some kind of totally shitty SCSI card just to save $15 or so.

Quoted 5 lines

Not much support for it on an enduser system yet (our serial.c does, but the MS folks dont support 'em in their generic driver, I dont think) so I think this has some weight in why it doesn't become defacto standard, either.

Quoted 7 lines
Quoted 3 lines

Well.. Why is the i386 the defacto standard ? There architectures that are a lot better. Reason it is that the some big company used it, and it got populair.

Heh. Well, serial doesn't even have anything to do with architecture. As long as the machine supports addressable I/O, its capable of running a UART.

I know. I just named the Intel as an example. The Alpha architecture is on most things superiours to the Intel, en the current PIII arcitecture still has the some bloat of the old archtecture carried along, thing that comes in mind is the old 80x86 compability mode.

My point was that getting rid of something that most users have is very hard, even if the're better things on the market.

Quoted 3 lines

And what kind of serial ports do you find on your Alpha? 16550's! Your PowerPC? 16550's! Your PA-RISC box? 16550's! Hey! Even RS/6000's use 16550's!

I want an Alpha.. That's my gift I give to myself after I graduate ;)

Quoted 7 lines

So while i concur with your statement, it still doesn't explain why the business hasn't chosen to move on yet.
NOTE: The same can also be stated about FLOPPY DRIVES. Why on EARTH would we want 1.44mb media - on a drive that costs $15, and media that costs $.10/ea - when there are things like Zipdrives, where you can get 100mb internal drives for $50, and media for $4? (Thats what FLOPPY DRIVES used to cost!! $60 for the drive, $1-2/ea for the media.)

1.44 MB is anchient, and hardlike suitable for anything else then a recue disk. Problem that when the 3.5 inch disk was introduced it was the only thing that was cheap and available on the market. So it became a standard, and it is still widely used.

Today an LS drive can keep 120 MB, that is a lot better, especially if you realize what the avarage diskstorage is today.

Quoted 12 lines
Quoted 3 lines

Indeed.. Why do they save $15 bucks on a modem chipset, and replace it with a buggy software driven solution... Making things as cheap as possible, to make sure the're chaper then their compatitor.

Good point. But in this particular model, it obviously explains why electronics technology expands in the particular way that it does.

In the year 1970, everyone thought that we'd have transporter beams and spaceships and computers named Hal in the year 2000. What do we *REALLY* have? Technology that makes things more CONVENIENT for people. They also CATER to people who don't want to spend any money.

Quoted 7 lines

Celphones. Pagers. Microwaves.

Hey. we even have Web-based grocery delivery guys that arrive in pretty vans. and all you had to do was click!

Our computers use parts that were designed 10 years previous, because nobody wants to spend the money on newer and better stuff.

Indeed.. People want to pay $.10 to sit on the first row in the theatre. I choose to pay for good hardware that I buy, plug in and it works. Nog plug in, install 20 megs of software, and then the bloody thing still refuses to work :(

Quoted 1 line

Chad

Igmar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#8 lore raw
In reply to Igmar Palsenberg
Quoted 3 lines · Chad Schwartz

And what kind of serial ports do you find on your Alpha? 16550's! Your PowerPC? 16550's! Your PA-RISC box? 16550's! Hey! Even RS/6000's use 16550's!

macs and sun machines use z85c30 chips, so there are some non-16550 boxes out there.

Signature · 6 lines
Tom Vier <[email protected]>
DSA Key id 0x27371A2C
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
#9 lore raw
Quoted 2 lines

macs and sun machines use z85c30 chips, so there are some non-16550 boxes out there.

SGI kit also tends to use Z85Cx30 based devices. Its unfortunate the 16xx0 series serial controllers won as the Z85Cx30 is much more flexible ;) -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#10 lore raw

absolutely, they are.

They don't follow the same archaic I/O register mechanism, either. which is *GOOD*.

(Just take a peak at the 16C854 sometime. You'll understand exactly how archaic it can GET.)

Chad

Quoted 6 lines
Quoted 2 lines

macs and sun machines use z85c30 chips, so there are some non-16550 boxes out there.

SGI kit also tends to use Z85Cx30 based devices. Its unfortunate the 16xx0 series serial controllers won as the Z85Cx30 is much more flexible ;)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#11 lore raw
In reply to Tom Vier

heh. yep.

Thats why I didn't list them.

z85's are good chips, but they perform JUST LIKE a 16550.

Chad

Quoted 5 lines · Chad Schwartz
Quoted 3 lines

And what kind of serial ports do you find on your Alpha? 16550's! Your PowerPC? 16550's! Your PA-RISC box? 16550's! Hey! Even RS/6000's use 16550's!

Quoted 7 lines

macs and sun machines use z85c30 chips, so there are some non-16550 boxes out there.

--
Tom Vier <[email protected]>
DSA Key id 0x27371A2C

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#12 lore raw
In reply to [email protected]
Quoted 8 lines · On Sun, Dec 10 2000, [email protected] wrote:

Hi folks

What should I do, when I run cdda2wav | gogo (riping CD from a ATAPI CD thru mp3 encoder) and get a continuous dropping of characters, on a 16550- enhanced serial port, without handshake, with full-duplex load of 115200 bps? About 1 of 320 bytes is miscommunicated.

The kernel is 2.2.12.

hdparm -u1 /dev/hdX

Signature · 6 lines
* Jens Axboe <[email protected]>
* SuSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
#13 lore raw
In reply to [email protected]

You'll find that there is a problem with 2.2.12, on down - with losing a few bytes here and there.

The bug is in the tty subsystem - in that when you pass off chars to the ldisc - from the driver, the ldisc doesn't actually write them. (I could get into the details, but you probably don't care.)

upgrade to 2.2.17.

It takes care of that bug.

Now. You *NEED* to understand that the way cdrecord does things, is by sending control codes (lots of them) to your tty, to achieve the "oOoOo" effect.

9600bps should be okay - on any reasonable system, to NEVER flow control.

But the *MOMENT* you bank on that, you'll get burned.

Set up flow control. if you don't, you're asking for trouble.

Chad

Quoted 7 lines

Hi folks

What should I do, when I run cdda2wav | gogo (riping CD from a ATAPI CD thru mp3 encoder) and get a continuous dropping of characters, on a 16550- enhanced serial port, without handshake, with full-duplex load of 115200 bps? About 1 of 320 bytes is miscommunicated.

Quoted 9 lines

The kernel is 2.2.12.

Clock

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/