From owner-freebsd-stable Sun Jul 2 1:56:40 2000 Delivered-To: freebsd-stable@freebsd.org Received: from mail.gmx.net (pop.gmx.net [194.221.183.20]) by hub.freebsd.org (Postfix) with SMTP id D597937BB76 for ; Sun, 2 Jul 2000 01:56:23 -0700 (PDT) (envelope-from Gerhard.Sittig@gmx.net) Received: (qmail 30901 invoked by uid 0); 2 Jul 2000 08:56:19 -0000 Received: from pc19f5ad2.dip.t-dialin.net (HELO speedy.gsinet) (193.159.90.210) by mail.gmx.net with SMTP; 2 Jul 2000 08:56:19 -0000 Received: (from sittig@localhost) by speedy.gsinet (8.8.8/8.8.8) id KAA07800 for freebsd-stable@FreeBSD.ORG; Sun, 2 Jul 2000 10:51:43 +0200 Date: Sun, 2 Jul 2000 10:51:43 +0200 From: Gerhard Sittig To: freebsd-stable@FreeBSD.ORG Subject: Re: xe in 4.0-S Message-ID: <20000702105143.J5945@speedy.gsinet> Mail-Followup-To: freebsd-stable@FreeBSD.ORG References: <20000626195936.G232@parish> <20000626205828.I232@parish> <200006270636.AAA32183@harmony.village.org> <20000627195346.O9883@speedy.gsinet> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <20000627195346.O9883@speedy.gsinet>; from Gerhard.Sittig@gmx.net on Tue, Jun 27, 2000 at 07:53:46PM +0200 Organization: System Defenestrators Inc. Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 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: on motherboard apm: found APM BIOS v1.2, connected at v1.2 [ ... snip ... snap ... ] sc0: fb0, kbd0, terminal emulator: sc (syscons terminal) pcic0: at port 0x3e0 iomem 0xd0000 irq 10 on isa0 pcic0: management irq 10 pccard0: on pcic0 pccard1: 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 mtu 16384 inet 127.0.0.1 netmask 0xff000000 ppp0: flags=8010 mtu 1500 sl0: flags=c010 mtu 552 xe0: flags=8843 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