[Wine] serial port problems: micro flashing
bioe007list at hotmail.com
bioe007list at hotmail.com
Thu Oct 25 12:10:09 CDT 2007
I am new to this mailing list. I apologize if any needed information is
missing.
I know this is a bit much to ask of wine's current serial port
implementation, I am hoping someone has maybe figured this out already?
Or can help me further the debugging process, I'd rather be part of the
solution then simply another complaint about wine's serial port.
***** problem description *****
The app is supposed to compile, link and (via serial port) upload BIOS
and firmware to a development board -->
http://www.rabbit.com/products/rcm2200/index.shtml
The app fails to find a micro at during the uploading and therefore
fails. The app does NOT crash but continues operating normally.
*****my debugging so far****
It seems data is getting out of wine, at least the bytes are ending up
at ttyS0. Successive `cat /proc/tty/driver/serial` shows increasing Tx
bytes, but only 1 Rx byte, also the app fails with 'No target processor
found'. There is an option to ignore processor verification, but that
doesn't help.
I have discussed with the company (Rabbit Semi) the problem and they are
aware of it and consider it a limitation of WINE and are not interested
in helping. I did glean from them that there is some creative use of
modem control lines (DTR,CTS are clearly trying to do something).
I have tried some WINEDEBUG="+trace,+comm" and hope someone else sees
something useful in it. I notice that it reports baud rate of 2400bps
when setserial is 115200, and the windows app is at 115200. (also
disabled baud rate negotiation in the app to no avail). I have tried
adding the `low_latency` flag to ttyS0.
I removed a bunch of lines that were repeated from the wine debug
channel output because the orginal file was 33M. I removed them only
where the same line appeared over and over...
grep -c '0009:trace:comm:io_control 0x54 IOCTL_SERIAL_GET_COMMSTATUS
(nil)' ~/dync_ouput/rfu_wch_trace_comm2007_10_24_13\:49\:58.txt
405515
I have also noted an unimplemented stub (set_queue_size) which may be a
problem and I'm willing to try and work on the code, but my experience
w/Wine is limited so any more pointers about debugging?
I have some basic EE tools and can hook up an oscilloscope (up to 4
channels) to my dev boards uart if anyone thinks that would help...
Another concern of mine is if my wine com1 port is working at all... Can
anyone tell me of a good working serial port app in wine? Bray++
terminal or anything else like that?
##### app setup #####
Wine 0.9.43-current (git as of 10/23/07) (compiled myself)
Linux 2.6.21.5, 2.6.22.1, 2.6.22.9
Distro(s): slackware 11-12 , now zenwalk 4.8 (was 4.6.1)
Application: Dynamic-C v9.21 (Full commercial license) -->
http://appdb.winehq.org/objectManager.php?sClass=version&iId=9356
##### port setup #####
root[drive_c]# dmesg | grep tty
00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
root[drive_c]# ls -l /dev/ttyS0
lrwxrwxrwx 1 root root 5 2007-10-05 08:39 /dev/ttyS0 -> tts/0
root[drive_c]# ls -l /dev/tts/0
crwxrwx-w- 1 root tty 4, 64 2007-10-05 10:04 /dev/tts/0
root[drive_c]# setserial -abGv /dev/ttyS0
/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_vhi
skip_test low_latency
------------------------------------
root[drive_c]# lsmod | grep ser
serial_cs 21252 0
8250 23828 4 serial_cs,8250_pnp
serial_core 20032 1 8250
pcmcia 37548 2 serial_cs,parport_cs
-----------------------------------
root[drive_c]# cat /proc/interrupts
CPU0 CPU1
0: 1855508 0 IO-APIC-edge timer
1: 7494 0 IO-APIC-edge i8042
3: 0 0 IO-APIC-edge parport0
4: 1321 0 IO-APIC-edge serial
-----------------------------------
root[drive_c]# cat /proc/ioports | grep -2 3f8
<snip>
03f6-03f6 : 0000:00:1f.2
03f6-03f6 : libata
03f8-03ff : serial
04d0-04d1 : pnp 00:02
0910-091f : pnp 00:08
<snip>
##############
*Note: the attached debug info is for a helper application (RFU.EXE,
included in Dynamic-C install, from Rabbit) that uses the same serial
interface, but rather than the whole GUI-IDE is simply a micro flashing
utility. I have verified with rabbit-semi that this uses the same COM
interface and application libraries as the IDE. It seems to me to be
more straightforward to debug smaller utility than the whole IDE.
**Note2: I have also attached my <git 10/24/07>/include/config.h to see
if there are any problems with my build environment? I notice there are
some things missing but I'm not sure where to get them. I don't have any
experience with the distros listed on winehq.org's 'recommended packages
page'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.h
Type: text/x-chdr
Size: 32134 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-users/attachments/20071025/2ddc961e/attachment-0001.h
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rfu_wch_trace_comm2007_10_24_13:49:58_short.txt
Url: http://www.winehq.org/pipermail/wine-users/attachments/20071025/2ddc961e/attachment-0001.txt
More information about the wine-users
mailing list