Date: Sun, 2 Jul 2000 10:51:43 +0200 From: Gerhard Sittig <Gerhard.Sittig@gmx.net> To: freebsd-stable@FreeBSD.ORG Subject: Re: xe in 4.0-S Message-ID: <20000702105143.J5945@speedy.gsinet> In-Reply-To: <20000627195346.O9883@speedy.gsinet>; from Gerhard.Sittig@gmx.net on Tue, Jun 27, 2000 at 07:53:46PM %2B0200 References: <m28zvsvwku.fsf@reader.ptw.com> <m2pup4zea4.fsf@reader.ptw.com> <20000626195936.G232@parish> <m21z1kxmmr.fsf@reader.ptw.com> <20000626205828.I232@parish> <m28zvsvwku.fsf@reader.ptw.com> <200006270636.AAA32183@harmony.village.org> <20000627195346.O9883@speedy.gsinet>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 27, 2000 at 19:53 +0200, Gerhard Sittig wrote:
>
> Is there still some work done on the xe driver? I have a
> Toshiba satellite (very early model 210cs) which works fine
> with a 3x589e and the ep driver. But a Xircom "Power Series
> CreditCard Ethernet Adapter" (PS-CE2-10) constantly has
> problems detecting and *keeping* the media connection.
>
> [ ... ]
>
> Which info can I provide besides 'uname -a' and /v/l/m at
> initialization and failure time to surround and kill the
> problem?
OK, so I sat down and collected some more concrete data. Due to
my lack of a "shopping list" this is what I can come up with.
Feel free to tell me when something's missing. Sorry for the
verbiage, but I already tried to trim it down to the necessary
volume.
What I get from all of this is: Established connections work
flawlessly, I can shove hundreds of MB through them. The feature
making ftp this prone to these stallings and errors seems to be
that new connections are opened all the time. This fits together
with what I experience: DNS lookups, initiating ssh sessions or
'cd /usr/src; make update' are painfully slow and always trigger
these artificial pauses. But why do pings work so fine? At the
moment the machine is somewhat degraded to a remote terminal and
local reference (manpages, handbook) and serves me to get
familiar with FreeBSD. Networking is not one of its strengths
and development capabilities are a little limited due to space
and computing power constraints. :( Maybe when I get a networked
file system to work it could reveal its real potential. :)
I'm glad and willing to help with whatever is necessary to catch
and kill the cause of this problem. Although cvsupping and
building a world is a matter of some ten hours on this machine,
please tell me what I can do to research this problem -- I can
trigger the situation quite easily here. And it's just that I'm
new to BSD, but I have some general UNIX knowledge. So I could
do quite a few things here when being guided or directed. :>
----- `script` output, edited for brevity -----------------------
Script started on Sun Jul 2 08:20:26 2000
stein# : boot -cv
stein# dmesg
Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 4.0-STABLE #0: Mon Jun 12 21:18:47 CEST 2000
root@stein.gsinet:/usr/src/sys/compile/STEIN
Calibrating clock(s) ... TSC clock: 119996641 Hz, i8254 clock: 1193148 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: Pentium/P54C (120.00-MHz 586-class CPU)
Origin = "GenuineIntel" Id = 0x52c Stepping = 12
Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
real memory = 16777216 (16384K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x0029f000 - 0x00ff7fff, 13996032 bytes (3417 pages)
config> di sio1
config> q
FreeBSD Kernel Configuration Utility - Version 1.2
Type "help" for help or "visual" to go to the visual
configuration interface (requires MGA/VGA display or
serial terminal capable of displaying ANSI graphics).
config> ls
Device port irq drq iomem iosize unit flags enab
fdc0 0x3f0 6 2 0 0 0 0 Yes
fd0 0 0 0 0 0 0 0 Yes
ata0 0x1f0 14 0 0 0 0 0 Yes
atkbdc0 0x60 0 0 0 0 0 0 Yes
atkbd0 0 1 0 0 0 0 0 Yes
psm0 0 12 0 0 0 0 0 Yes
vga0 0 0 0 0 0 0 0 Yes
sc0 0 0 0 0 0 0 0x80 Yes
npx0 0xf0 13 0 0 0 0 0 Yes
apm0 0 0 0 0 0 0 0 Yes
pcic0 0x3e0 10 0 d0000 0 0 0 Yes
pcic1 0x3e2 11 0 d4000 0 1 0 No
sio0 0x3f8 4 0 0 0 0 0x10 Yes
sio1 0x2f8 3 0 0 0 1 0 No
sio2 0x3e8 5 0 0 0 2 0 No
sio3 0x2e8 9 0 0 0 3 0 No
config> q
avail memory = 13967360 (13640K bytes)
[ ... snip ... snap ... ]
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
[ ... snip ... snap ... ]
sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
pcic0: <Intel i82365> at port 0x3e0 iomem 0xd0000 irq 10 on isa0
pcic0: management irq 10
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> on pcic0
pcic1: not probed (disabled)
sio0: irq maps: 0x41 0x51 0x41 0x41
[ ... snip ... snap ... ]
ad0s1: type 0x6, start 63, end = 266111, size 266049 : OK
pccard: card inserted, slot 1
ad0s2: type 0xa5, start 266112, end = 2653055, size 2386944 : OK
start_init: trying /sbin/init
xe0: xe: Probing
xe0: Got version string (0x15)
xe0: Got card ID (0x20)
xe0: Card is Ethernet only
xe0: Got MAC address (0x22)
xe0: Checking for weird CE2 string
xe0 at port 0x310-0x317 iomem 0xd0000-0xd0fff irq 9 slot 1 on pccard1
xe0: attach
pcic: I/O win 0 flags 17 310-31f
xe0: Xircom CE2, bonding version 0x40
xe0: Ethernet address 00:80:c7:c0:77:d7
xe0: BPF listener attached
bpf: xe0 attached
xe0: media_status
xe0: media_change
xe0: setmedia
xe0: disable_intr
xe0: soft_reset
xe0: silicon revision = 0
xe0: disable_intr
xe0: Selecting 10baseT
xe0: Setting LEDs
xe0: init
xe0: enable_intr
xe0: init
xe0: enable_intr
splash: image decoder found: logo_saver
xe0: watchdog timeout; resetting card
xe0: stop
xe0: disable_intr
xe0: hard_reset
xe0: setmedia
xe0: disable_intr
xe0: soft_reset
xe0: silicon revision = 1
xe0: disable_intr
xe0: Selecting 10baseT
xe0: Setting LEDs
xe0: init
xe0: enable_intr
xe0: init
xe0: enable_intr
stein# pccardc dumpcis
Code 136 not found
Code 136 not found
code Unknown ignored
Code 137 not found
Code 137 not found
code Unknown ignored
Configuration data for card in slot 1
Tuple #1, code = 0x1 (Common memory descriptor), length = 2
000: 00 ff
Common memory device information:
Device number 1, type No device, WPS = OFF
Speed = No speed, Memory block size = reserved, 32 units
Tuple #2, code = 0x17 (Attribute memory descriptor), length = 2
000: 00 ff
Attribute memory device information:
Device number 1, type No device, WPS = OFF
Speed = No speed, Memory block size = reserved, 32 units
Tuple #3, code = 0x15 (Version 1 info), length = 79
000: 03 00 58 69 72 63 6f 6d 00 43 72 65 64 69 74 43
010: 61 72 64 20 31 30 42 61 73 65 2d 54 00 50 53 2d
020: 43 45 32 2d 31 30 00 32 2e 31 30 00 00 00 00 00
030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff
Version = 3.0, Manuf = [Xircom], card vers = [CreditCard 10Base-T]
Addit. info = [PS-CE2-10],[2.10]
Tuple #4, code = 0x0 (Null tuple), length = 8
000: c0 77 d7 00 00 00 00 00
Tuple #5, code = 0x0 (Null tuple), length = 8
000: 04 06 00 80 c7 c0 77 d7
Tuple #6, code = 0x20 (Manufacturer ID), length = 5
000: 05 01 0b 01 41
PCMCIA ID = 0x105, OEM ID = 0x10b
Tuple #7, code = 0x44 (Card init date), length = 4
000: 69 5d 05 23
Tuple #8, code = 0x1a (Configuration map), length = 5
000: 01 01 00 08 03
Reg len = 2, config register addr = 0x800, last config = 0x1
Registers: XX------
Tuple #9, code = 0x1b (Configuration entry), length = 22
000: c1 c1 bd 0f 55 45 55 36 e0 17 17 e4 60 00 00 07
010: 70 bc 8e 10 00 20
Config index = 0x1(default)
Interface byte = 0xc1 (I/O) +RDY/-BSY active, wait signal supported
Vcc pwr:
Nominal operating supply voltage: 5 x 1V
Minimum operating supply voltage: 4 x 1V
Maximum operating supply voltage: 5 x 1V
Continuous supply current: 3 x 100mA
Wait scale Speed = 1.2 x 10 ms
RDY/BSY scale Speed = 1.2 x 10 ms
Card decodes 4 address lines, full 8/16 Bit I/O
I/O address # 1: block start = 0x0 block length = 0x8
IRQ modes: Level, Pulse
IRQs: 2 3 4 5 7 9 10 11 15
Memory space length = 0x10
Max twin cards = 0
Misc attr: (Power down supported)
Tuple #10, code = 0x21 (Functional ID), length = 2
000: 06 00
Network/LAN adapter
Tuple #11, code = 0x22 (Functional EXT), length = 8
000: 04 06 00 80 c7 c0 77 d7
Network node ID: 00 80 c7 c0 77 d7
Tuple #12, code = 0x22 (Functional EXT), length = 2
000: 01 02
Network technology: Ethernet
Tuple #13, code = 0x22 (Functional EXT), length = 5
000: 02 80 96 98 00
Network speed: 10 Mb/sec
Tuple #14, code = 0x22 (Functional EXT), length = 2
000: 03 00
Network media: Undefined
Tuple #15, code = 0x22 (Functional EXT), length = 2
000: 03 00
Network media: Undefined
Tuple #16, code = 0x22 (Functional EXT), length = 2
000: 03 00
Network media: Undefined
Tuple #17, code = 0x22 (Functional EXT), length = 2
000: 05 00
Network connector: open connector standard
Tuple #18, code = 0xff (Terminator), length = 0
2 slots found
stein# ifconfig -a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
xe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.11.33 netmask 0xffffff00 broadcast 192.168.11.255
ether 00:80:c7:c0:77:d7
media: 10baseT/UTP
supported media: autoselect 10base2/BNC 10baseT/UTP
stein# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.11.129 UGSc 0 0 xe0
127.0.0.1 127.0.0.1 UH 0 0 lo0
192.168.11 link#4 UC 0 0 xe0 =>
192.168.11.129 0:60:97:b0:c9:d1 UHLW 1 0 xe0 1190
stein# traceroute -n 192.168.11.129
traceroute to 192.168.11.129 (192.168.11.129), 30 hops max, 40 byte packets
1 192.168.11.129 1.386 ms 0.974 ms 0.960 ms
stein# ping -n -c 100 192.168.11.129
PING 192.168.11.129 (192.168.11.129): 56 data bytes
64 bytes from 192.168.11.129: icmp_seq=0 ttl=64 time=0.697 ms
64 bytes from 192.168.11.129: icmp_seq=1 ttl=64 time=0.647 ms
[ ... snip ... snap ... everything's smooth ... ]
64 bytes from 192.168.11.129: icmp_seq=98 ttl=64 time=0.645 ms
64 bytes from 192.168.11.129: icmp_seq=99 ttl=64 time=0.664 ms
--- 192.168.11.129 ping statistics ---
100 packets transmitted, 100 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.632/0.653/0.873/0.025 ms
stein# : starting heavy network use on a different console
stein# : doing ssh -> screen -> ls -RAlF /
stein# netstat -w 1
input (Total) output
packets errs bytes packets errs bytes colls
32 0 15236 7 0 378 0
31 0 14706 6 0 324 0
21 0 11554 5 0 270 0
28 0 12540 5 0 270 0
13 0 7398 4 0 216 0
42 0 23600 9 0 486 0
29 0 14094 5 0 270 0
20 0 9528 5 0 270 0
12 0 5688 5 0 270 0
3 0 1190 2 0 108 0
28 0 13076 7 0 378 0
30 0 14108 7 0 378 0
27 0 13158 4 0 216 0
23 0 9310 4 0 216 0
4 0 1976 1 0 54 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
33 0 19962 8 0 432 0
19 0 5042 3 0 162 0
23 0 6318 4 0 216 0
input (Total) output
packets errs bytes packets errs bytes colls
13 0 3978 5 0 270 0
9 0 2640 2 0 108 0
^C
stein# : BUT ftp commands open, ls, get are stalling
stein# : transfer rates range from some 700KB/s via 300/400, 70,
stein# : down to 4KB/s (due to the timeouts and reneg)
stein# : ssh - screen - find ~/Mail -type f -print0 | xargs --null cat
stein# date
Sun Jul 2 09:03:05 CEST 2000
stein# date
Sun Jul 2 09:21:33 CEST 2000
stein# : 'du -s ~/Mail' gives 98KB, which results in 90KB/s
stein# : surely due to expensive terminal writes and scrolling
stein# : I didn't see stalls in this
stein# :
stein# : now for ftp again (different console) ...
stein# date
Sun Jul 2 09:24:20 CEST 2000
stein# date
Sun Jul 2 09:31:09 CEST 2000
stein# : transferred 11800KB, giving some 20KB/s with
stein# : prompt off and mget *
stein# grep xe0 /var/log/messages | grep 'Jul 2'
[ this is kernel load time ]
Jul 2 08:19:36 stein /kernel: xe0: xe: Probing
Jul 2 08:19:36 stein /kernel: xe0: Got version string (0x15)
Jul 2 08:19:37 stein /kernel: xe0: Got card ID (0x20)
Jul 2 08:19:37 stein /kernel: xe0: Card is Ethernet only
Jul 2 08:19:37 stein /kernel: xe0: Got MAC address (0x22)
Jul 2 08:19:37 stein /kernel: xe0: Checking for weird CE2 string
Jul 2 08:19:37 stein /kernel: xe0 at port 0x310-0x317 iomem 0xd0000-0xd0fff irq 9 slot 1 on pccard1
Jul 2 08:19:37 stein /kernel: xe0: attach
Jul 2 08:19:37 stein /kernel: xe0: Xircom CE2, bonding version 0x40
Jul 2 08:19:37 stein /kernel: xe0: Ethernet address 00:80:c7:c0:77:d7
Jul 2 08:19:37 stein /kernel: xe0: BPF listener attached
Jul 2 08:19:37 stein /kernel: bpf: xe0 attached
Jul 2 08:19:37 stein pccard:xe0: Xircom CreditCard Ethernet inserted
Jul 2 08:19:37 stein /kernel: xe0: media_status
Jul 2 08:19:38 stein /kernel: xe0: media_change
Jul 2 08:19:38 stein /kernel: xe0: setmedia
Jul 2 08:19:38 stein /kernel: xe0: disable_intr
Jul 2 08:19:38 stein /kernel: xe0: soft_reset
Jul 2 08:19:38 stein /kernel: xe0: silicon revision = 0
Jul 2 08:19:38 stein /kernel: xe0: disable_intr
Jul 2 08:19:38 stein /kernel: xe0: Selecting 10baseT
Jul 2 08:19:38 stein /kernel: xe0: Setting LEDs
Jul 2 08:19:39 stein /kernel: xe0: init
Jul 2 08:19:39 stein /kernel: xe0: enable_intr
Jul 2 08:19:39 stein /kernel: xe0: init
Jul 2 08:19:39 stein /kernel: xe0: enable_intr
Jul 2 08:19:44 stein /kernel: xe0: watchdog timeout; resetting card
Jul 2 08:19:44 stein /kernel: xe0: stop
Jul 2 08:19:44 stein /kernel: xe0: disable_intr
Jul 2 08:19:44 stein /kernel: xe0: hard_reset
Jul 2 08:19:44 stein /kernel: xe0: setmedia
Jul 2 08:19:44 stein /kernel: xe0: disable_intr
Jul 2 08:19:44 stein /kernel: xe0: soft_reset
Jul 2 08:19:44 stein /kernel: xe0: silicon revision = 1
Jul 2 08:19:44 stein /kernel: xe0: disable_intr
Jul 2 08:19:44 stein /kernel: xe0: Selecting 10baseT
Jul 2 08:19:44 stein /kernel: xe0: Setting LEDs
Jul 2 08:19:44 stein /kernel: xe0: init
Jul 2 08:19:44 stein /kernel: xe0: enable_intr
Jul 2 08:19:44 stein /kernel: xe0: init
Jul 2 08:19:44 stein /kernel: xe0: enable_intr
[ this is an ifconfig -a ]
Jul 2 08:27:09 stein /kernel: xe0: media_status
[ this is first time ftp session (not explicitely listed above) ]
Jul 2 08:30:26 stein /kernel: xe0: watchdog timeout; resetting card
Jul 2 08:30:27 stein /kernel: xe0: stop
Jul 2 08:30:27 stein /kernel: xe0: disable_intr
[ ... see above, always the same cycle ... ]
Jul 2 08:30:27 stein /kernel: xe0: init
Jul 2 08:30:27 stein /kernel: xe0: enable_intr
[ inside ssh - screen I can do whatever I want to! ]
[ this is vmstat -i time ]
Jul 2 08:46:09 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:46:33 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
[ this is another ftp session with 'mget *' ]
Jul 2 08:51:56 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:52:46 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:53:38 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:54:18 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:55:50 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:56:20 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:56:40 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:57:02 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:57:23 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:57:51 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:58:06 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:58:49 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:59:17 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 08:59:33 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
[ here I do 'cat $SOME_100_MB_MAIL' w/o problems ]
[ and this is ftp again (7 files, some cd and ls) ]
Jul 2 09:23:52 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:24:27 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:26:09 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:26:37 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:26:58 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:27:30 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:27:55 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:28:15 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:28:22 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:28:46 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:29:09 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:29:16 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:29:40 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:30:05 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:30:29 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:30:55 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
Jul 2 09:31:16 stein /kernel: xe0: watchdog timeout; resetting card
[ ... ]
stein# date
Sun Jul 2 09:32:21 CEST 2000
stein# exit
Script done on Sun Jul 2 09:32:37 2000
----- `script` output, edited for brevity -----------------------
Oops, I recognize I forgot some things:
----- grep pccard /etc/rc.conf ----------------------------------
/etc/rc.conf:pccard_enable="YES"
/etc/rc.conf:pccard_conf="/etc/pccard.conf"
/etc/rc.conf:pccard_ifconfig="inet 192.168.11.33 netmask 255.255.255.0 media 10baseT/UTP"
----- grep pccard /etc/rc.conf ----------------------------------
----- cat /etc/pccard.conf --------------------------------------
# ----- /etc/pccard.conf ----------------------------------------
# copied over from the sample
#
io 0x310-0x360
irq 9 10 11 15
memory 0xd4000 96k
# ----- card descriptions ---------------------------------------
# Xircom CreditCard Ethernet 10/100
card "Xircom" "CreditCard 10Base-T"
# config 0x1 "xe0" ?
config auto "xe0" ?
insert logger -t pccard:$device -s Xircom CreditCard Ethernet inserted
insert /etc/pccard_ether $device
remove logger -t pccard:$device -s Xircom CreditCard Ethernet removed
remove /etc/pccard_ether $device delete
# ----- E O F ---------------------------------------------------
----- cat /etc/pccard.conf --------------------------------------
virtually yours 82D1 9B9C 01DC 4FB4 D7B4 61BE 3F49 4F77 72DE DA76
Gerhard Sittig true | mail -s "get gpg key" Gerhard.Sittig@gmx.net
--
If you don't understand or are scared by any of the above
ask your parents or an adult to help you.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000702105143.J5945>
