* [Qemu-devel] playing with qemu's 8139 nic and FreeBSD (loopback mode missing?)
@ 2006-04-27 20:37 Juergen Lock
2006-04-28 16:25 ` [Qemu-devel] " Igor Kovalenko
0 siblings, 1 reply; 6+ messages in thread
From: Juergen Lock @ 2006-04-27 20:37 UTC (permalink / raw)
To: qemu-devel, freebsd-emulation; +Cc: Igor Kovalenko
I played with
qemu -monitor stdio -m 256 -cdrom 6.1-RC1-i386-disc1.iso -usb -soundhw es1370 -kernel-kqemu -net nic,model=rtl8139 -net user
and got it as far as
re0: diagnostic failed, failed to receive packet in loopback mode
(followed by a panic :) with the (experimental) patches below.
Anyone in the mood to implement loopback mode for this nic?
Hmm actually... I just found the original posting in the archive,
is C+ mode implemented now? If not re is probably not what I want,
but the rl driver that it attaches without that #if 0'd (now) hunk
below doesnt seem to be able to get data thru either and I get
rl0: watchdog timeout
in dmesg, which usually means the driver doesnt receive interrupts.
What the heck, I'll append a log of a run just doing in fixit->cdrom:
ifconfig rl0 10.0.2.15
and then exiting (which is enough to trigger the watchdog timeout...)
Index: qemu/hw/rtl8139.c
@@ -31,6 +31,9 @@
/* debug RTL8139 card */
//#define DEBUG_RTL8139 1
+#if 1
+#define DEBUG_RTL8139 1
+#endif
/* debug RTL8139 card C+ mode only */
//#define DEBUG_RTL8139CP 1
@@ -512,6 +516,19 @@
eeprom->output <<= 1;
if (eeprom->tick == 16)
{
+#if 1
+ // the FreeBSD drivers (rl and re) don't explicitly toggle
+ // CS between reads (or does setting Cfg9346 to 0 count too?),
+ // so we need to enter wait-for-command state here
+ eeprom->mode = Chip9346_enter_command_mode;
+ eeprom->input = 0;
+ eeprom->tick = 0;
+
+#if defined(DEBUG_RTL8139)
+ printf("eeprom: +++ end of read, awaiting next command\n");
+#endif
+#else
+ // original behaviour
++eeprom->address;
eeprom->address &= EEPROM_9346_ADDR_MASK;
eeprom->output = eeprom->contents[eeprom->address];
@@ -521,6 +538,7 @@
printf("eeprom: +++ read next address 0x%02x data=0x%04x\n",
eeprom->address, eeprom->output);
#endif
+#endif
}
break;
@@ -1103,6 +1121,11 @@
/* prepare eeprom */
s->eeprom.contents[0] = 0x8129;
+#if 1
+ // PCI vendor and device ID should be mirrored here
+ s->eeprom.contents[1] = 0x10ec;
+ s->eeprom.contents[2] = 0x8139;
+#endif
memcpy(&s->eeprom.contents[7], s->macaddr, 6);
/* mark all status registers as owned by host */
@@ -1130,6 +1153,14 @@
s->clock_enabled = 0;
#else
s->TxConfig |= HW_REVID(1, 1, 1, 0, 1, 0, 0); // RTL-8139C HasLWake
+#if 0
+ // apparently bit 23 should be part of HW_REVID too
+ // [this, together with the other changes, make FreeBSD guests detect
+ // the nic as re instead of rl, but the probe fails (and I get a panic)
+ // because it does a test in loopback mode (TxLoopBack) which apparently
+ // is not implemented here yet]
+ s->TxConfig |= 0x800000;
+#endif
s->clock_enabled = 1;
#endif
$ qemu -monitor stdio -m 2256 -cdrom 6.1-RC1-i386-disc1.iso -usb -soundhw es1370 -net nic,model=rtl8139 -net user
QEMU 0.8.0 monitor - type 'help' for more information
(qemu) RTL8139: Set IRQ line 16 to 0 (0000 0000)
RTL8139: TxConfig read val=0x74000000
RTL8139: TxConfig read val=0x74000000
RTL8139: TxConfig read val=0x74000000
RTL8139: ChipCmd write val=0x00000010
RTL8139: ChipCmd reset
RTL8139: Set IRQ line 16 to 0 (0000 0000)
RTL8139: receiver buffer is empty
RTL8139: ChipCmd read val=0x0001
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
=== eeprom: begin access, enter command mode
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 3 eedi=1 eedo=0
eeprom: +++ synchronized, begin command read
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 1 eedi=1 eedo=0
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 3 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 5 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 7 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 8 eedi=0 eedo=0
RTL8139: eeprom command 0x80
RTL8139: eeprom read from address 0x00 data=0x8129
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 2 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 3 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 5 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 7 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 8 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 9 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 10 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 11 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 12 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 13 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 14 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 15 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 16 eedi=0 eedo=0
eeprom: +++ end of read, awaiting next command
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 write val=0x00
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 1 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 2 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8f
eeprom: +++ wires CS=1 SK=1 DI=1 DO=1
eeprom: tick 3 eedi=1 eedo=1
eeprom: +++ synchronized, begin command read
RTL8139: Cfg9346 read val=0x8f
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8f
eeprom: +++ wires CS=1 SK=1 DI=1 DO=1
eeprom: tick 1 eedi=1 eedo=1
RTL8139: Cfg9346 read val=0x8f
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 2 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 3 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 4 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 5 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8f
eeprom: +++ wires CS=1 SK=1 DI=1 DO=1
eeprom: tick 6 eedi=1 eedo=1
RTL8139: Cfg9346 read val=0x8f
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8f
eeprom: +++ wires CS=1 SK=1 DI=1 DO=1
eeprom: tick 7 eedi=1 eedo=1
RTL8139: Cfg9346 read val=0x8f
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8b
eeprom: +++ wires CS=1 SK=0 DI=1 DO=1
RTL8139: Cfg9346 read val=0x8b
RTL8139: Cfg9346 write val=0x8f
eeprom: +++ wires CS=1 SK=1 DI=1 DO=1
eeprom: tick 8 eedi=1 eedo=1
RTL8139: eeprom command 0x87
RTL8139: eeprom read from address 0x07 data=0x5452
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 3 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 5 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 7 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 8 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 9 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 10 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 11 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 12 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 13 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 14 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 15 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 16 eedi=0 eedo=1
eeprom: +++ end of read, awaiting next command
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 write val=0x00
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 3 eedi=1 eedo=0
eeprom: +++ synchronized, begin command read
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 1 eedi=1 eedo=0
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 3 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 5 eedi=1 eedo=0
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 7 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 8 eedi=0 eedo=0
RTL8139: eeprom command 0x88
RTL8139: eeprom read from address 0x08 data=0x1200
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 3 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 5 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 7 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 8 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 9 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 10 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 11 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 12 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 13 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 14 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 15 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 16 eedi=0 eedo=0
eeprom: +++ end of read, awaiting next command
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 write val=0x00
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 3 eedi=1 eedo=0
eeprom: +++ synchronized, begin command read
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 1 eedi=1 eedo=0
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 3 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 5 eedi=1 eedo=0
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 7 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 8 eedi=1 eedo=0
RTL8139: eeprom command 0x89
RTL8139: eeprom read from address 0x09 data=0x5634
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 3 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 5 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 7 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 8 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 9 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 10 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 11 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 12 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 13 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 14 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 15 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 16 eedi=0 eedo=0
eeprom: +++ end of read, awaiting next command
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 write val=0x00
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 3 eedi=1 eedo=0
eeprom: +++ synchronized, begin command read
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 1 eedi=1 eedo=0
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 2 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 3 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 5 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x8e
eeprom: +++ wires CS=1 SK=1 DI=1 DO=0
eeprom: tick 7 eedi=1 eedo=0
RTL8139: Cfg9346 read val=0x8e
RTL8139: Cfg9346 write val=0x8a
eeprom: +++ wires CS=1 SK=0 DI=1 DO=0
RTL8139: Cfg9346 read val=0x8a
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 8 eedi=0 eedo=0
RTL8139: eeprom command 0x82
RTL8139: eeprom read from address 0x02 data=0x8139
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 1 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 2 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 3 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 4 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 5 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 6 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 7 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 8 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 9 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 10 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 11 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 12 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 13 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 read val=0x89
RTL8139: Cfg9346 write val=0x8d
eeprom: +++ wires CS=1 SK=1 DI=0 DO=1
eeprom: tick 14 eedi=0 eedo=1
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 15 eedi=0 eedo=0
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 read val=0x8c
RTL8139: Cfg9346 write val=0x88
eeprom: +++ wires CS=1 SK=0 DI=0 DO=0
RTL8139: Cfg9346 read val=0x88
RTL8139: Cfg9346 write val=0x8c
eeprom: +++ wires CS=1 SK=1 DI=0 DO=0
eeprom: tick 16 eedi=0 eedo=0
eeprom: +++ end of read, awaiting next command
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 read val=0x8d
RTL8139: Cfg9346 write val=0x89
eeprom: +++ wires CS=1 SK=0 DI=0 DO=1
RTL8139: Cfg9346 write val=0x00
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register write(w) val=0x8000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: ChipCmd write val=0x00000000
RTL8139: IntrMask write(w) val=0x0000
RTL8139: Set IRQ line 16 to 0 (0000 0000)
RTL8139: Cfg9346 write val=0xc0
RTL8139: ioport write(l) addr=0x0 val=0x12005452 via write(b)
RTL8139: ioport write(l) addr=0x4 val=0x00005634 via write(b)
RTL8139: Cfg9346 write val=0x00
RTL8139: RxBuf write val=0x0f9dc008
RTL8139: TxAddr write offset=0x0 val=0x00000000
RTL8139: TxAddr write offset=0x4 val=0x00000000
RTL8139: TxAddr write offset=0x8 val=0x00000000
RTL8139: TxAddr write offset=0xc val=0x00000000
RTL8139: ChipCmd write val=0x0000000c
RTL8139: ChipCmd enable receiver
RTL8139: ChipCmd enable transmitter
RTL8139: TxConfig write val=0x03000700
RTL8139: RxConfig write val=0x0000ff00
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig read val=0x0000ff00
RTL8139: RxConfig write val=0x0000ff02
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig write val=0x0000ff0a
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig read val=0x0000ff0a
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig write val=0x0000ff0a
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: IntrMask write(w) val=0xc07f
RTL8139: Set IRQ line 16 to 0 (0000 c07f)
RTL8139: RxMissed clearing on write
RTL8139: ChipCmd write val=0x0000000c
RTL8139: ChipCmd enable receiver
RTL8139: ChipCmd enable transmitter
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: Config1 write val=0x60
RTL8139: Configuration registers are write-protected
RTL8139: TxAddr write offset=0x0 val=0x0f9b7530
RTL8139: TxStatus write offset=0x0 val=0x0003003c descriptor=0
RTL8139: +++ transmitting from descriptor 0
RTL8139: +++ transmit reading 60 bytes from host memory at 0x0f9b7530
RTL8139: +++ transmitted 60 bytes from descriptor 0
RTL8139: Set IRQ line 16 to 1 (0004 c07f)
RTL8139: IntrStatus read(w) val=0x0004
RTL8139: IntrStatus write(w) val=0x0004
RTL8139: Set IRQ line 16 to 0 (0000 c07f)
RTL8139: Set IRQ line 16 to 0 (0000 c07f)
RTL8139: TxStatus read offset=0x0 val=0x0003a03c
RTL8139: IntrStatus read(w) val=0x0000
RTL8139: RxConfig read val=0x0000ff0a
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig write val=0x0000ff0e
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: ioport write(l) addr=0x8 val=0x80000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: ChipCmd write val=0x00000000
RTL8139: IntrMask write(w) val=0x0000
RTL8139: Set IRQ line 16 to 0 (0000 0000)
RTL8139: Cfg9346 write val=0xc0
RTL8139: ioport write(l) addr=0x0 val=0x12005452 via write(b)
RTL8139: ioport write(l) addr=0x4 val=0x00005634 via write(b)
RTL8139: Cfg9346 write val=0x00
RTL8139: RxBuf write val=0x0f9dc008
RTL8139: TxAddr write offset=0x0 val=0x00000000
RTL8139: TxAddr write offset=0x4 val=0x00000000
RTL8139: TxAddr write offset=0x8 val=0x00000000
RTL8139: TxAddr write offset=0xc val=0x00000000
RTL8139: ChipCmd write val=0x0000000c
RTL8139: ChipCmd enable receiver
RTL8139: ChipCmd enable transmitter
RTL8139: TxConfig write val=0x03000700
RTL8139: RxConfig write val=0x0000ff00
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig read val=0x0000ff00
RTL8139: RxConfig write val=0x0000ff02
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig write val=0x0000ff0a
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig read val=0x0000ff0a
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig write val=0x0000ff0e
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: ioport write(l) addr=0x8 val=0x80000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: IntrMask write(w) val=0xc07f
RTL8139: Set IRQ line 16 to 0 (0000 c07f)
RTL8139: RxMissed clearing on write
RTL8139: ChipCmd write val=0x0000000c
RTL8139: ChipCmd enable receiver
RTL8139: ChipCmd enable transmitter
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: Config1 write val=0x60
RTL8139: Configuration registers are write-protected
RTL8139: RxConfig read val=0x0000ff0e
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig write val=0x0000ff0e
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: ioport write(l) addr=0x8 val=0x80000004 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig read val=0x0000ff0e
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig write val=0x0000ff0e
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: ioport write(l) addr=0x8 val=0x80000004 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x40000000 via write(b)
RTL8139: RxConfig read val=0x0000ff0e
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig write val=0x0000ff0e
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: ioport write(l) addr=0x8 val=0x80000004 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x40000000 via write(b)
RTL8139: TxAddr write offset=0x0 val=0x0f9b7330
RTL8139: TxStatus write offset=0x0 val=0x0003004e descriptor=0
RTL8139: +++ cannot transmit from descriptor 1: owned by host (00002000)
RTL8139: transmitter queue stalled, current TxDesc = 1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: TxAddr write offset=0x4 val=0x0f9b6e30
RTL8139: TxStatus write offset=0x4 val=0x00030056 descriptor=1
RTL8139: +++ transmitting from descriptor 1
RTL8139: +++ transmit reading 86 bytes from host memory at 0x0f9b6e30
RTL8139: +++ transmitted 86 bytes from descriptor 1
RTL8139: Set IRQ line 16 to 1 (0004 c07f)
RTL8139: IntrStatus read(w) val=0x0004
RTL8139: IntrStatus write(w) val=0x0004
RTL8139: Set IRQ line 16 to 0 (0000 c07f)
RTL8139: Set IRQ line 16 to 0 (0000 c07f)
RTL8139: TxStatus read offset=0x0 val=0x0003004e
RTL8139: IntrStatus read(w) val=0x0000
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: TxStatus read offset=0x0 val=0x0003004e
RTL8139: RxBufPtr read val=0xfffffff0
RTL8139: ioport read(w) addr=0x3a via read(b)
RTL8139: not implemented read(b) addr=0x3a
RTL8139: not implemented read(b) addr=0x3b
RTL8139: ioport read(w) addr=0x3a val=0x0000
RTL8139: receiver buffer is empty
RTL8139: ChipCmd read val=0x000d
RTL8139: ChipCmd write val=0x00000000
RTL8139: IntrMask write(w) val=0x0000
RTL8139: Set IRQ line 16 to 0 (0000 0000)
RTL8139: TxAddr write offset=0x0 val=0x00000000
RTL8139: TxAddr write offset=0x4 val=0x00000000
RTL8139: Cfg9346 write val=0xc0
RTL8139: ioport write(l) addr=0x0 val=0x12005452 via write(b)
RTL8139: ioport write(l) addr=0x4 val=0x00005634 via write(b)
RTL8139: Cfg9346 write val=0x00
RTL8139: RxBuf write val=0x0f9dc008
RTL8139: TxAddr write offset=0x0 val=0x00000000
RTL8139: TxAddr write offset=0x4 val=0x00000000
RTL8139: TxAddr write offset=0x8 val=0x00000000
RTL8139: TxAddr write offset=0xc val=0x00000000
RTL8139: ChipCmd write val=0x0000000c
RTL8139: ChipCmd enable receiver
RTL8139: ChipCmd enable transmitter
RTL8139: TxConfig write val=0x03000700
RTL8139: RxConfig write val=0x0000ff00
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig read val=0x0000ff00
RTL8139: RxConfig write val=0x0000ff02
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig write val=0x0000ff0a
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: RxConfig read val=0x0000ff0a
RTL8139: ioport write(l) addr=0x8 val=0x00000000 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x00000000 via write(b)
RTL8139: RxConfig write val=0x0000ff0e
RTL8139: RxConfig write reset buffer size to 65536
RTL8139: ioport write(l) addr=0x8 val=0x80000004 via write(b)
RTL8139: ioport write(l) addr=0xc val=0x40000000 via write(b)
RTL8139: IntrMask write(w) val=0xc07f
RTL8139: Set IRQ line 16 to 0 (0000 c07f)
RTL8139: RxMissed clearing on write
RTL8139: ChipCmd write val=0x0000000c
RTL8139: ChipCmd enable receiver
RTL8139: ChipCmd enable transmitterRTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeStatus register read(w) val=0x782d
RTL8139: BasicModeCtrl register read(w) val=0x9000
RTL8139: NWayAdvert read(w) val=0x05e1
RTL8139: NWayLPAR read(w) val=0x05e1
RTL8139: ChipCmd write val=0x00000000
RTL8139: IntrMask write(w) val=0x0000
RTL8139: Set IRQ line 16 to 0 (0000 0000)
q
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] Re: playing with qemu's 8139 nic and FreeBSD (loopback mode missing?)
2006-04-27 20:37 [Qemu-devel] playing with qemu's 8139 nic and FreeBSD (loopback mode missing?) Juergen Lock
@ 2006-04-28 16:25 ` Igor Kovalenko
2006-04-28 22:11 ` Juergen Lock
0 siblings, 1 reply; 6+ messages in thread
From: Igor Kovalenko @ 2006-04-28 16:25 UTC (permalink / raw)
To: qemu-devel, freebsd-emulation, Igor Kovalenko
Juergen Lock wrote:
> I played with
> qemu -monitor stdio -m 256 -cdrom 6.1-RC1-i386-disc1.iso -usb -soundhw es1370 -kernel-kqemu -net nic,model=rtl8139 -net user
> and got it as far as
> re0: diagnostic failed, failed to receive packet in loopback mode
> (followed by a panic :) with the (experimental) patches below.
>
> Anyone in the mood to implement loopback mode for this nic?
>
> Hmm actually... I just found the original posting in the archive,
> is C+ mode implemented now? If not re is probably not what I want,
The rtl8139 is set up with PCI rev ID 0x20 which should be enough for OS driver
to detect C+ mode features. C+ mode is OK, tested with Linux driver.
> but the rl driver that it attaches without that #if 0'd (now) hunk
> below doesnt seem to be able to get data thru either and I get
> rl0: watchdog timeout
> in dmesg, which usually means the driver doesnt receive interrupts.
>
> What the heck, I'll append a log of a run just doing in fixit->cdrom:
> ifconfig rl0 10.0.2.15
> and then exiting (which is enough to trigger the watchdog timeout...)
>
I'm too lasy to test with fresh freebsd installation :)
--
Kind regards,
Igor V. Kovalenko
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] Re: playing with qemu's 8139 nic and FreeBSD (loopback mode missing?)
2006-04-28 16:25 ` [Qemu-devel] " Igor Kovalenko
@ 2006-04-28 22:11 ` Juergen Lock
2006-04-29 6:48 ` Igor Kovalenko
0 siblings, 1 reply; 6+ messages in thread
From: Juergen Lock @ 2006-04-28 22:11 UTC (permalink / raw)
To: Igor Kovalenko; +Cc: freebsd-emulation, qemu-devel
On Fri, Apr 28, 2006 at 08:25:02PM +0400, Igor Kovalenko wrote:
> Juergen Lock wrote:
> > I played with
> > qemu -monitor stdio -m 256 -cdrom 6.1-RC1-i386-disc1.iso -usb -soundhw es1370 -kernel-kqemu -net nic,model=rtl8139 -net user
> > and got it as far as
> > re0: diagnostic failed, failed to receive packet in loopback mode
> > (followed by a panic :) with the (experimental) patches below.
> >
> > Anyone in the mood to implement loopback mode for this nic?
> >
> > Hmm actually... I just found the original posting in the archive,
> > is C+ mode implemented now? If not re is probably not what I want,
>
> The rtl8139 is set up with PCI rev ID 0x20 which should be enough for OS driver
> to detect C+ mode features. C+ mode is OK, tested with Linux driver.
Cool, so I want FreeBSD's re driver. That one checks TxConfig
tho, as changed in my patch (inside #if 0). And when changed,
it still doesn't work as mentioned above because the driver expects
loopback mode to be working.
>
> > but the rl driver that it attaches without that #if 0'd (now) hunk
> > below doesnt seem to be able to get data thru either and I get
> > rl0: watchdog timeout
> > in dmesg, which usually means the driver doesnt receive interrupts.
> >
> > What the heck, I'll append a log of a run just doing in fixit->cdrom:
> > ifconfig rl0 10.0.2.15
> > and then exiting (which is enough to trigger the watchdog timeout...)
> >
>
> I'm too lasy to test with fresh freebsd installation :)
No need to install FreeBSD, you can get away by just using
fixit mode of an install iso, i.e. disc1. (which actually is
what I did above. :)
You can look at 6.1RC's re driver here:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c?annotate=1.46.2.14
which includes:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/pci/if_rlreg.h?annotate=1.51.2.3
And 6.1RC disc1 iso is e.g. here:
ftp://ftp.ru.freebsd.org:/pub/FreeBSD/ISO-IMAGES-i386/6.1/6.1-RC1-i386-disc1.iso
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] Re: playing with qemu's 8139 nic and FreeBSD (loopback mode missing?)
2006-04-28 22:11 ` Juergen Lock
@ 2006-04-29 6:48 ` Igor Kovalenko
2006-04-30 0:46 ` Juergen Lock
0 siblings, 1 reply; 6+ messages in thread
From: Igor Kovalenko @ 2006-04-29 6:48 UTC (permalink / raw)
To: Igor Kovalenko, qemu-devel, freebsd-emulation
Juergen Lock wrote:
> On Fri, Apr 28, 2006 at 08:25:02PM +0400, Igor Kovalenko wrote:
>> Juergen Lock wrote:
>>> I played with
>>> qemu -monitor stdio -m 256 -cdrom 6.1-RC1-i386-disc1.iso -usb -soundhw es1370 -kernel-kqemu -net nic,model=rtl8139 -net user
>>> and got it as far as
>>> re0: diagnostic failed, failed to receive packet in loopback mode
>>> (followed by a panic :) with the (experimental) patches below.
>>>
>>> Anyone in the mood to implement loopback mode for this nic?
>>>
>>> Hmm actually... I just found the original posting in the archive,
>>> is C+ mode implemented now? If not re is probably not what I want,
>> The rtl8139 is set up with PCI rev ID 0x20 which should be enough for OS driver
>> to detect C+ mode features. C+ mode is OK, tested with Linux driver.
>
> Cool, so I want FreeBSD's re driver. That one checks TxConfig
> tho, as changed in my patch (inside #if 0). And when changed,
> it still doesn't work as mentioned above because the driver expects
> loopback mode to be working.
>>> but the rl driver that it attaches without that #if 0'd (now) hunk
>>> below doesnt seem to be able to get data thru either and I get
>>> rl0: watchdog timeout
>>> in dmesg, which usually means the driver doesnt receive interrupts.
>>>
>>> What the heck, I'll append a log of a run just doing in fixit->cdrom:
>>> ifconfig rl0 10.0.2.15
>>> and then exiting (which is enough to trigger the watchdog timeout...)
>>>
>> I'm too lasy to test with fresh freebsd installation :)
>
> No need to install FreeBSD, you can get away by just using
> fixit mode of an install iso, i.e. disc1. (which actually is
> what I did above. :)
>
> You can look at 6.1RC's re driver here:
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c?annotate=1.46.2.14
> which includes:
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/pci/if_rlreg.h?annotate=1.51.2.3
>
> And 6.1RC disc1 iso is e.g. here:
> ftp://ftp.ru.freebsd.org:/pub/FreeBSD/ISO-IMAGES-i386/6.1/6.1-RC1-i386-disc1.iso
>
>
Thanks, that iso pointer made it.
Please try the following on top of your patch, at least ping should now work:
--- hw/rtl8139.c.freebsd 2006-04-29 10:44:43.000000000 +0400
+++ hw/rtl8139.c 2006-04-29 10:45:37.000000000 +0400
@@ -1979,6 +1979,18 @@
return ret;
}
+static uint32_t rtl8139_RxBufAddr_read(RTL8139State *s)
+{
+ /* this value is NOT off by 16 */
+ uint32_t ret = s->RxBufAddr;
+
+#ifdef DEBUG_RTL8139
+ printf("RTL8139: RxBufAddr read val=0x%04x\n", ret);
+#endif
+
+ return ret;
+}
+
static void rtl8139_RxBuf_write(RTL8139State *s, uint32_t val)
{
#ifdef DEBUG_RTL8139
@@ -2441,6 +2453,10 @@
ret = rtl8139_RxBufPtr_read(s);
break;
+ case RxBufAddr:
+ ret = rtl8139_RxBufAddr_read(s);
+ break;
+
case BasicModeCtrl:
ret = rtl8139_BasicModeCtrl_read(s);
break;
--
Kind regards,
Igor V. Kovalenko
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] Re: playing with qemu's 8139 nic and FreeBSD (loopback mode missing?)
2006-04-29 6:48 ` Igor Kovalenko
@ 2006-04-30 0:46 ` Juergen Lock
2006-05-02 4:28 ` Igor Kovalenko
0 siblings, 1 reply; 6+ messages in thread
From: Juergen Lock @ 2006-04-30 0:46 UTC (permalink / raw)
To: Igor Kovalenko; +Cc: freebsd-emulation, qemu-devel
On Sat, Apr 29, 2006 at 10:48:48AM +0400, Igor Kovalenko wrote:
> Juergen Lock wrote:
> > On Fri, Apr 28, 2006 at 08:25:02PM +0400, Igor Kovalenko wrote:
> >> Juergen Lock wrote:
> >>> I played with
> >>> qemu -monitor stdio -m 256 -cdrom 6.1-RC1-i386-disc1.iso -usb -soundhw es1370 -kernel-kqemu -net nic,model=rtl8139 -net user
> >>> and got it as far as
> >>> re0: diagnostic failed, failed to receive packet in loopback mode
> >>> (followed by a panic :) with the (experimental) patches below.
> >>>
> >>> Anyone in the mood to implement loopback mode for this nic?
> >>>
> >>> Hmm actually... I just found the original posting in the archive,
> >>> is C+ mode implemented now? If not re is probably not what I want,
> >> The rtl8139 is set up with PCI rev ID 0x20 which should be enough for OS driver
> >> to detect C+ mode features. C+ mode is OK, tested with Linux driver.
> >
> > Cool, so I want FreeBSD's re driver. That one checks TxConfig
> > tho, as changed in my patch (inside #if 0). And when changed,
> > it still doesn't work as mentioned above because the driver expects
> > loopback mode to be working.
> >>> but the rl driver that it attaches without that #if 0'd (now) hunk
> >>> below doesnt seem to be able to get data thru either and I get
> >>> rl0: watchdog timeout
> >>> in dmesg, which usually means the driver doesnt receive interrupts.
> >>>
> >>> What the heck, I'll append a log of a run just doing in fixit->cdrom:
> >>> ifconfig rl0 10.0.2.15
> >>> and then exiting (which is enough to trigger the watchdog timeout...)
> >>>
> >> I'm too lasy to test with fresh freebsd installation :)
> >
> > No need to install FreeBSD, you can get away by just using
> > fixit mode of an install iso, i.e. disc1. (which actually is
> > what I did above. :)
> >
> > You can look at 6.1RC's re driver here:
> > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c?annotate=1.46.2.14
> > which includes:
> > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/pci/if_rlreg.h?annotate=1.51.2.3
> >
> > And 6.1RC disc1 iso is e.g. here:
> > ftp://ftp.ru.freebsd.org:/pub/FreeBSD/ISO-IMAGES-i386/6.1/6.1-RC1-i386-disc1.iso
> >
> >
>
> Thanks, that iso pointer made it.
>
:)
> Please try the following on top of your patch, at least ping should now work:
Thanks, that seems to get the rl driver going. Now to fix C+ mode
(re driver) change the #if 0 in my patch to #if 1...
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] Re: playing with qemu's 8139 nic and FreeBSD (loopback mode missing?)
2006-04-30 0:46 ` Juergen Lock
@ 2006-05-02 4:28 ` Igor Kovalenko
0 siblings, 0 replies; 6+ messages in thread
From: Igor Kovalenko @ 2006-05-02 4:28 UTC (permalink / raw)
To: qemu-devel, qemu-l, freebsd-emulation
Juergen Lock wrote:
>
> Thanks, that seems to get the rl driver going. Now to fix C+ mode
> (re driver) change the #if 0 in my patch to #if 1...
>
Well actually that requires a bit more: implementing on-board timer.
freebsd if_re.c driver loopback test sequence passes if packet is received
AND timeout occur; the latter cannot happen because of missing timer support.
Then, driver tries to set up on-board timer for various reasons and may not
work without timer.
--
Kind regards,
Igor V. Kovalenko
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-05-02 4:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-27 20:37 [Qemu-devel] playing with qemu's 8139 nic and FreeBSD (loopback mode missing?) Juergen Lock
2006-04-28 16:25 ` [Qemu-devel] " Igor Kovalenko
2006-04-28 22:11 ` Juergen Lock
2006-04-29 6:48 ` Igor Kovalenko
2006-04-30 0:46 ` Juergen Lock
2006-05-02 4:28 ` Igor Kovalenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).