From mboxrd@z Thu Jan 1 00:00:00 1970 From: Karl Swisher Subject: Serial Port Issue with FC3 and dosemu 1.3.3 Date: Fri, 03 Feb 2006 14:43:14 -0500 Message-ID: <43E3B252.7070901@tuxtechnology.com> Reply-To: kswisher@tuxtechnology.com Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: Sender: linux-msdos-owner@vger.kernel.org List-Id: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: linux-msdos@vger.kernel.org Hello, Have had dosemu 1.2.1 on a RH9 and 1.2.2 on an FC3 machine running the same program on dosemu. The 1.2.2 machine replaced the 1.2.1 machine. This has been working good for several months. The 1.2.1 machine was wiped clean and FC3 was installed and yum upgraded to the latest for FC3. The current 1.2.2 FC3 machine has not been upgraded for sometime but has other issues, maybe a failing HD. Need to swap it out with the original one upgraded to FC3 and 1.3.3. Have serial port issues now that I didn't have before. Have the sudoers working. Have /var/lock/tty.... working. The program running on top of dosemu even configures the port properly (baud, data bits, ect....). After the program is running I can type 'cat /dev/ttyS0' in a shell and see the correct data streaming in. However the serial data never gets back to the program and the program times out. It appears the problem only occurs after upgrading FC3 at some point. dosemu 1.2.1 and 1.2.2 also exhibit the same behavior as 1.3.3 now on this FC3 machine. The current working FC3 machine with 1.2.2 was upgraded a few months ago right before it was installed and not since. Below is most of the boot.log. Much of the repeat text I cut out to save space. The error seems to be here: SER0: Interrupt 12 (1) cannot be requested: enable=0 IER=0x0 Any help will be appreciated. I've also tried this on a FC4 machine with the same results. Thanks Karl CONF: config variable parser_version_3 set CONF: config variable c_system set CONF: Parsing built-in dosemu.conf file. CONF: config variable version_3_style_used set CONF: Parsing built-in global.conf file. CONF: config variable version_3_style_used unset CONF: config variable version_3_style_used set CONF: opened include file /etc/dosemu/dosemu.conf CONF: closed include file /etc/dosemu/dosemu.conf CONF: mapping driver = 'auto' debug flags: -D9+cis CONF: Disabling use of pentium timer CONF: dosbanner on CONF: timer freq=18, update=54925 CONF: CPU set to 386 CONF: CPUEMU set to 0 for 386 CONF: 8192k bytes XMS memory CONF: 2048k bytes EMS memory CONF: EMS-frame = 0xe400 CONF: DPMI-Server on (0x5000) CONF: DPMI base addr = 0x10000000 CONF: PM DOS API Translator on CONF: No DJGPP NULL deref checks: off CONF: dosemu running on X CONF: x keycode keycode 2 mode13fact 2 gamma 100 font '' mgrab_key "Home" CONF: time mode = 'bios' SER: directory /var/lock namestub LCK.. binary No SER: /dev/ttyS0 port 0 int 0 SER: /dev/ttyS1 port 0 int 0 CONF: Keyboard-layout keyb-user device: /dev/fd0 type 2 h: 0 s: 0 t: 0 floppy A: CONF: fastfloppy = 1 CONF: IPX support off CONF(LPT0) f: (null) c: lpr -PLogPrinter t: 20 port: 0 CONF(LPT1) f: (null) c: lpr -PTicketPrinter t: 20 port: 0 CONF: not allowing speaker port access CONF: Packet Driver enabled. device: /home/scalemaster/.dosemu/drives/c type 4 h: -1 s: -1 t: -1 drive C: CONF: config variable c_system unset CONF: not enough privilege to define config variable c_user Linux kernel 2.6.12; CPU speed is 551313000 Hz CPU-EMU speed is 551 MHz CONF: mostly running as USER: uid=500 (cached 500) gid=14 (cached 14) dumping the current runtime configuration: Version: dosemu-1.3.3.0 versioncode = 0x01030300 Running Kernel Version: linux-2.6.12 cpu 386 realcpu 586 CPUclock 551.313MHz cpu_spd 0x76df61 cpu_tick_spd 0x8dd62d pci 0 rdtsc 0 mathco 1 smp 0 cpuspeed 551 cpuemu 0 mappingdriver auto hdiskboot 1 mem_size 640 ext_mem 8192 ems_size 0x800 ems_frame 0xe400 xms_size 0x2000 max_umb 0x0 dpmi 0x5000 dpmi_base 0x10000000 pm_dos_api 1 ignore_djgpp_null_derefs 0 mapped_bios 0 vbios_file vbios_copy 0 vbios_seg 0xc000 vbios_size 0x10000 console 0 console_keyb 0 console_video 0 kbd_tty 0 exitearly 0 fdisks 1 hdisks 1 bootdisk 0 term_esc_char 0x1e term_color 1 term_updatefreq 4 X_updatelines 25 X_updatefreq 5 xterm_title X_display "" X_title "DOS in a BOX" X_icon_name "xdosemu" X_title_show_appname 1 X_blinkrate 12 X_sharecmap 0 X_mitshm 1 X_fixed_aspect 1 X_aspect_43 0 X_lin_filt 0 X_bilin_filt 0 X_mode13fact 2 X_winsize_x 0 X_winsize_y 0 X_gamma 100 X_fullscreen 0 vgaemu_memsize 0x1000 vesamode_list (nil) X_lfb 1 X_pm_interface 1 X_keycode 2 X_font "" X_mgrab_key "Home" X_background_pause 0 config.X 1 hogthreshold 1 chipset "plainvga" cardtype "VGA" pci_video 0 fullrestore 0 gfxmemsize 256 vga 0 dualmon 0 force_vt_switch 0 speaker "emulated" update 54925 freq 18 tty_lockdir "/var/lock" tty_lockfile "LCK.." config.tty_lockbinary 0 num_ser 2 num_lpt 2 fastfloppy 1 full_file_locks 0 emusys "" emuini "" dosbanner 1 vbios_post 0 detach 0 debugout "" debug_flags "-#-A-C-D-E-I-M-P-Q-R-S-T-W-X-Z-a9c-d-e-g-h9i-j-k-m-n-p-r9s-u-v+w-x" keytable not setup yet pre_stroke "" irqpassing= none hardware_ram: no ipxsup 0 vnet 2 pktflags 0x0 LPT1 command "lpr -PLogPrinter" timeout 20 device "" baseport 0x378 LPT2 command "lpr -PTicketPrinter" timeout 20 device "" baseport 0x278 feature_0 0 feature_1 0 feature_2 0 feature_3 0 feature_4 0 feature_5 0 feature_6 0 feature_7 0 feature_8 0 feature_9 0 feature_10 0 feature_11 0 feature_12 0 feature_13 0 feature_14 0 feature_15 0 SOUND: sb_base 0x220 sb_dma 1 sb_hdma 5 sb_irq 5 mpu401_base 0x330 sb_dsp "/dev/dsp" sb_mixer "" sound_driver "oss" SOUND_OSS: oss_min_frags 0x4 oss_max_frags 0x20 oss_stalled_frags 0x2 oss_do_post 0 oss_min_extra_frags 0x2 oss_dac_freq 6000 cli_timeout 10 pic_watchdog 50 JOYSTICK: joy_device0 "/dev/js0" joy_device1 "/dev/js1" joy_dos_min 1 joy_dos_max 150 joy_granularity 1 joy_latency 1 DBG_FD already set DOSEMU-1.3.3.0 is coming up on Linux version 2.6.12-1.1381_FC3 CONF: reserving 640Kb at 0x00000 for 'd' (Base DOS memory (first 640K)) CONF: reserving 48Kb at 0xF4000 for 'r' (Dosemu reserved area) major = 136 minor = 5 PORT: registered "8254 Timer0" handle 0x06 [0x0040-0x0040] fd=-1 PORT: registered "8254 Timer1" handle 0x07 [0x0041-0x0041] fd=-1 PORT: registered "8254 Timer2" handle 0x08 [0x0042-0x0042] fd=-1 PORT: registered "8254 Ctrl02" handle 0x09 [0x0043-0x0043] fd=-1 CONF: reserving 128Kb at 0xA0000 for 'v' (Video memory) PORT: registered "8042 Keyboard data" handle 0x0a [0x0060-0x0060] fd=-1 PORT: registered "8042 Keyboard command" handle 0x0b [0x0064-0x0064] fd=-1 PORT: registered "Keyboard controller port B" handle 0x0c [0x0061-0x0061] fd=-1 PORT: registered "CMOS RAM" handle 0x0d [0x0070-0x0071] fd=-1 Registering HWRAM, type= base=0x1478000 size=0x400000 CONF: reserving 12Kb at 0xC0000 for 'V' (VGAEMU Video BIOS) PORT: registered "VGAEmu VGA Controller" handle 0x0e [0x03c0-0x03cf] fd=-1 PORT: registered "VGAEmu CRT Controller" handle 0x0f [0x03d4-0x03d5] fd=-1 PORT: registered "VGAEmu Input Status #1/Feature Control" handle 0x10 [0x03da-0x03da] fd=-1 PORT: registered "VGAEmu Mono/Hercules Card Range 0" handle 0x11 [0x03b0-0x03bb] fd=-1 PORT: registered "VGAEmu Mono/Hercules Card Range 1" handle 0x12 [0x03bf-0x03bf] fd=-1 SERIAL $Header: /cvsroot/dosemu/dosemu/src/base/serial/ser_init.c,v 1.23 2005/08/22 00:05:17 bartoldeman Exp $ SER: Running serial_init, 2 serial ports registering /dev/ttyS0 for serial SER0: enabling interrupt 12 PORT: registered "COM1" handle 0x13 [0x03f8-0x03ff] fd=-1 SER0: COM1, intlevel=12, base=0x3f8, device=/dev/ttyS0 registering /dev/ttyS1 for serial SER1: enabling interrupt 11 PORT: registered "COM2" handle 0x14 [0x02f8-0x02ff] fd=-1 SER1: COM2, intlevel=11, base=0x2f8, device=/dev/ttyS1 PORT: registered "8259 PIC0" handle 0x15 [0x0020-0x0021] fd=-1 PORT: registered "8259 PIC1" handle 0x16 [0x00a0-0x00a1] fd=-1 PORT: registered "Parallel printer" handle 0x17 [0x0378-0x037a] fd=-1 PORT: registered "Parallel printer" handle 0x17 [0x0278-0x027a] fd=-1 PORT: registered "DMA - XT Controller" handle 0x18 [0x0000-0x000f] fd=-1 PORT: registered "DMA - XT Pages" handle 0x19 [0x0081-0x0087] fd=-1 PORT: registered "DMA - AT Controller" handle 0x1a [0x00c0-0x00de] fd=-1 PORT: registered "DMA - AT Pages" handle 0x1b [0x0089-0x008f] fd=-1 PORT: registered "Floppy Drive" handle 0x1c [0x03f0-0x03f7] fd=-1 PORT: registered "SB Emulation" handle 0x1d [0x0220-0x0233] fd=-1 PORT: registered "Adlib (+ Advanced) Emulation" handle 0x1e [0x0388-0x038b] fd=-1 PORT: registered "Midi Emulation" handle 0x1f [0x0330-0x0331] fd=-1 PKT: Cannot allocate TAP device (dynamic): Permission denied CONF: detected layout is "auto" CONF: detected alternate layout: (null) CONF: reserving 64Kb at 0xE4000 for 'E' (EMS page frame) CONF: reserving 132Kb at 0xC3000 for 'U' (Upper Memory Block (UMB, XMS 3.0)) TIME: using 9154 usec for updating ALRM timer SER0: BIOS memory location 0x400 has value of 0x3f8 SER1: BIOS memory location 0x402 has value of 0x2f8 SER0: INT14 0x0: Initialize port 0, AL=0xa3 SER0: Running ser_open, fd=-1 SER0: Clear FIFO. SER0: tmp=0 int_cond=0 int_req=0 int=0 fifo=0 SER0: do_ser_init: running ser_termios SER0: LCR = 0x3, 8N1, bps = 2400, divisor 0x30 -> 0x30 SER0: Modem Status Change: MSR -> 0x20 SER0: Func modstat_engine requesting MS_INTR SER0: tmp=0 int_cond=8 int_req=0 int=8 fifo=0 SER0: Interrupt 12 (8) cannot be requested: enable=0 IER=0x0 SER0: Read LCR = 0x3 SER0: ret=0 queue=0 SER0: MCR = 0x3 SER0: MCR: DTR -> 1 SER0: MCR: RTS -> 2 SER0: ret=0 queue=0 SER0: LCR = 0x83, DLAB high. SER0: ret=0 queue=0 SER0: Divisor LSB = 0x30 SER0: ret=0 queue=0 SER0: Divisor MSB = 0x0 SER0: ret=0 queue=0 SER0: LCR = 0x3, DLAB low. SER0: LCR = 0x3, 8N1, bps = 2400, divisor 0x30 -> 0x30 SER0: ret=0 queue=0 SER0: Read LSR = 0x60 SER0: ret=0 queue=0 SER0: tmp=0 int_cond=0 int_req=0 int=0 fifo=0 SER0: Read MSR = 0x20 SER0: ret=0 queue=0 SER0: INT14 0x0: Return with AL=0x20 AH=0x60 SER1: INT14 0x0: Initialize port 1, AL=0xa3 SER1: Running ser_open, fd=-1 SER1: Clear FIFO. SER1: tmp=0 int_cond=0 int_req=0 int=0 fifo=0 SER1: do_ser_init: running ser_termios SER1: LCR = 0x3, 8N1, bps = 2400, divisor 0x30 -> 0x30 SER1: Read LCR = 0x3 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: MCR = 0x3 SER1: MCR: DTR -> 1 SER1: MCR: RTS -> 2 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: LCR = 0x83, DLAB high. SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: Divisor LSB = 0x30 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: Divisor MSB = 0x0 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: LCR = 0x3, DLAB low. SER1: LCR = 0x3, 8N1, bps = 2400, divisor 0x30 -> 0x30 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: Read LSR = 0x60 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: tmp=0 int_cond=0 int_req=0 int=0 fifo=0 SER1: Read MSR = 0x0 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER1: INT14 0x0: Return with AL=0x0 AH=0x60 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SERIAL: Async notification received SER0: Got 7 bytes, 0 in buffer SER0: Func uart_fill requesting RX_INTR SER0: tmp=0 int_cond=1 int_req=0 int=1 fifo=0 SER0: Interrupt 12 (1) cannot be requested: enable=0 IER=0x0 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SER0: ret=0 queue=0 SER1: ret=0 queue=0 --SNIP-- SERIAL: Async notification received SER0: Func uart_fill requesting RX_INTR SER0: tmp=1 int_cond=3 int_req=0 int=1 fifo=0 SER0: Func pic_request intlevel=12, int_requested=1 SER0: ret=0 queue=0 SER1: ret=0 queue=0 SERIAL: Async notification received SER0: Func uart_fill requesting RX_INTR SER0: tmp=1 int_cond=3 int_req=0 int=1 fifo=0 SER0: Func pic_request intlevel=12, int_requested=1 SER0: ret=0 queue=0 SER1: ret=0 queue=0 leavedos(0|0x0) called - shutting down SPEAKER: sound OFF! SPEAKER: sound OFF! SER: Running serial_close SER0: Running ser_close SER0: Clear FIFO. SER0: tmp=0 int_cond=0 int_req=0 int=0 fifo=0 SER1: Running ser_close SER1: Clear FIFO. SER1: tmp=0 int_cond=0 int_req=0 int=0 fifo=0