From jpmg%engineering.cambridge.ac.uk@pp-switch.cambridge.ac.uk Thu Mar 10 17:51:52 1994 X400-Received: by mta chalmers.se in /PRMD=chalmers/ADMD=sunet/C=se/; Relayed; Thu, 10 Mar 1994 17:51:44 +0100 X400-Received: by /PRMD=uk.ac/ADMD= /C=gb/; Relayed; Thu, 10 Mar 1994 17:51:31 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 17:51:18 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 17:51:16 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 17:51:14 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 17:51:13 +0100 Date: Thu, 10 Mar 1994 17:51:13 +0100 X400-Originator: jpmg%engineering.cambridge.ac.uk@pp-switch.cambridge.ac.uk X400-Recipients: peter@ifm.liu.se X400-Mts-Identifier: [/PRMD=UK.AC/ADMD= /C=GB/;<6007.9403101651@fear.eng.cam.ac] X400-Content-Type: P2-1984 (2) Content-Identifier: Re: Hotting a... From: jpmg@engineering.cambridge.ac.uk To: peter@ifm.liu.se Cc: jpmg@engineering.cambridge.ac.uk Subject: Re: Hotting a Sun serial port to 76.8kbps? Content-Length: 1791 > Here is a description of how to do it for SunOS 4, one should be > able to do something similary for Solaris 2 I think... Many thanks for this info - it's got me a lot further on that I was before. It is trivial to write a C prog that uses does kvm_open(), kvm_nlist() for the symbol "zs_speeds" (which still exists under Solaris 2), and then a kvm_read() of say 40 bytes or so, to find the same kind of set of clock rate divisors. The 40 bytes in question are (printed unsigned in decimal): 0 0 11 254 7 254 5 114 4 120 3 254 2 254 1 254 0 254 0 126 0 83 0 62 0 30 0 14 0 6 0 2 0 0 0 0 0 0 0 0 so we have a sequence of short integers offset from the symbol by 16 bytes, as "254 126 83 62 30 14 6 2" If baud rate is (4800 * 32 / (lookup + 2)), then this gives the baud rates 600 1200 1807 2400 4800 9600 19200 38400 I suspect the previous sequence of shorts with high bits set correspond to the very low baud rate settings in some strange way ... I've now just searched through /kernel/drv/zs in emacs hex mode looking for 0053 003e 001e 000e (corresponding to 83 62 30 14) and found a single occurence at offset 0x5068 through the file. I am fairly certain, although I haven't had a chance yet to try it, that (in order to replace the 4800 baud entry with a 76800 one, for instance), replacing those four bytes with 0053 003e 0000 000e should fix things up nicely. If it doesn't seem to make any difference, it may be necessary to "boot -r" to get the kernel change noticed. Hope this helps, (Unfortunately, I've just found that the device I wanted to talk to copes with 38.4k, 57.6k, 115.2k, so after all that, I'm still unable to tweak it usefully 8-( . Guess I'll have to look at one of these sbus serial line boards). -patrick. From jpmg%engineering.cambridge.ac.uk@pp-switch.cambridge.ac.uk Thu Mar 10 18:48:18 1994 X400-Received: by mta chalmers.se in /PRMD=chalmers/ADMD=sunet/C=se/; Relayed; Thu, 10 Mar 1994 18:48:12 +0100 X400-Received: by /PRMD=uk.ac/ADMD= /C=gb/; Relayed; Thu, 10 Mar 1994 18:47:25 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 18:47:12 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 18:47:10 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 18:47:09 +0100 X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Thu, 10 Mar 1994 18:47:08 +0100 Date: Thu, 10 Mar 1994 18:47:08 +0100 X400-Originator: jpmg%engineering.cambridge.ac.uk@pp-switch.cambridge.ac.uk X400-Recipients: peter@ifm.liu.se X400-Mts-Identifier: [/PRMD=UK.AC/ADMD= /C=GB/;<7132.9403101747@fear.eng.cam.ac] X400-Content-Type: P2-1984 (2) Content-Identifier: Re: Hotting a... From: jpmg@engineering.cambridge.ac.uk To: peter@ifm.liu.se Cc: jpmg@engineering.cambridge.ac.uk Subject: Re: Hotting a Sun serial port to 76.8kbps? Content-Length: 430 Further to my previous message, I believe that the correct way of doing this is adb -w /kernel/drv/zs 5014?d 5014?w 0 The first command should report a value of 30 (corresponding to the baud rate divider for 4800 baud), and the second will set that location to 0, resulting in a 76800 baud clock rate. This is under Solaris 2.3, I wouldn't necessarily expect the zs driver file to be identical under other releases. -patrick.