On Sat, Aug 25, 2018 at 9:39 PM Remi Locherer <remi.loche...@relo.ch> wrote:
>
> On Fri, Aug 24, 2018 at 06:02:20AM +0000, sc.dy...@gmail.com wrote:
> > On 2018/08/19 09:40, Stefan Sperling wrote:
> > > On Sun, Aug 19, 2018 at 11:05:04AM +0200, Stefan Sperling wrote:
> > >> On Sun, Aug 19, 2018 at 09:56:33AM +0200, Remi Locherer wrote:
> > >>> It would help if you could send a clean version that applies to 
> > >>> -current.
> > >>
> > >> One of the attachments was in fact clean but yes, this
> > >> thread has been much too noisy to follow easily.
> > >>
> > >> Try this.
> > >
> > > Unfortunately, while this diff does indeed work on xhci(4), I've just
> > > found that this diff breaks axen(4) attached to ehci(4) completely.
> > >
> > > I see several "axen0: rxeof: too short transfer" in dmesg and
> > > almost all packets are lost. Even my Ethernet switch gives up
> > > eventually and disables the port.
> > >
> > > So this diff is not ready to be committed.
> >
> > I didn't check if axen works on ehci.
> > On my ehci (intel PCH) that bug is reproduced, and
> > I found that it works on ehci with 16kB RX buffer.
> > I preserve the original bufsz decision code.
>
> I applied axen5.diff and xhci.diff and tested the resulting kernel on
> an old Samsung notebook that has ehci and xhci (demesg and usbdevs below).
>
> When the axen dongle is attached via xhci it gets link but dhclient
> never gets a lease. This works when attached via ehci. But after some
> light traffic (browsing with netsurf) the systme panics. Here the output
> from ddb (copied by hand):

Thank you for testing and reporting.

It might be a bad idea to modify xhci.c without a solid knowledge.

>
>
> kernel: page fault trap, code=0
> Stopped at      memcpy+0x15:    repe movsq      (%rsi),%es:(rdi)
> ddb{1}> show panic
> kernel page fault
> uvm_fault(0xffffffdef19438, 0x0, 0, 1) -> e
> memcpy(79e3..........) at memcpy+0x15
> end trace frame: 0xffff800032e06cd0, cound: 0
> ddb{1} trace
> memcpy(79e...........) at memcpy+0x15
> ptcread(5b11cd.....) at ptcread+0x1eb
> spec_read(70e.....) at spec_read+0xab
> VOP_READ(4b037......) at VOP_RAED+0x49
> vn_read(af8b.....) at dofilereadv+0xe0
> sys_read(9862....) at sys_read+0x5c
> syscall(822b.....) at syscall+0x32a
> Xsyscall(0,3,0,3,f,1954e...) at Xsyscall+0x128
> end of kernel
> end trace frame 0x7f7ffffd3430, count: -9
> ddb{1}> mach ddb 0
> Stopped at      x86_ipi_db+0x12:      popq    %r11
> ddb{0}> trace
> x86_ipi_db(5d...) at x86_ipi_db+0x12
> x86_ipi_handler() at x86_ipi_handler+0x80
> Xresume_lapic_ipi(9,ff.........) at Xresume_lapic_ipi+0x23
> ___mp_lock(58ifaff....) at ___mp_lock+0x68
> intr_handler(a26f9....) at intr_handler+0x40
> Xintr_ioapic_edge12_untramp(6,fff.......) at Xintr_ioapic_edge12_untramp+0x19f
> ___mp_lock(58faff...) at___mp_lock+0x68
> intr_handler(a26f9....) at intr_handler+040
> Xintr_ioapic_edge25_untramp(0,3,......) at Xintr_ioapic_edge25_untramp+0x19f
> acpicpu_idle() at acpicpu_idle+0x166
> sched_idle(0) at sced_idle+0x245
> end trace frame: 0x0, count: -11
> ddb{0}
>
>
> This does not happen when running a snapshot kernel.
>
> dmesg + usbdevs -vvv
>
> OpenBSD 6.4-beta (GENERIC.MP) #0: Sat Aug 25 19:45:29 CEST 2018
>     r...@530u.relo.ch:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 8462659584 (8070MB)
> avail mem = 8196993024 (7817MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xe0840 (63 entries)
> bios0: vendor Phoenix Technologies Ltd. version "05XK" date 02/10/2012
> bios0: SAMSUNG ELECTRONICS CO., LTD. 530U3BI/530U4BI/530U4BH
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S1 S3 S4 S5
> acpi0: tables DSDT FACP SLIC SSDT ASF! HPET APIC MCFG SSDT SSDT UEFI UEFI UEFI
> acpi0: wakeup devices P0P1(S4) GLAN(S4) HDEF(S4) PXSX(S4) RP01(S4) PXSX(S4) 
> RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) PXSX(S4) RP06(S4) PXSX(S4) 
> RP07(S4) PXSX(S4) [...]
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 14318179 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz, 1597.58 MHz, 06-2a-07
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE
> cpu1 at mainbus0: apid 2 (application processor)
> cpu1: Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz, 1895.69 MHz, 06-2a-07
> cpu1: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 14 pa 0xfec00000, version 20, 24 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xf8000000, bus 0-63
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (P0P1)
> acpiprt2 at acpi0: bus 1 (RP01)
> acpiprt3 at acpi0: bus -1 (RP02)
> acpiprt4 at acpi0: bus -1 (RP03)
> acpiprt5 at acpi0: bus 2 (RP04)
> acpiprt6 at acpi0: bus 3 (RP05)
> acpiprt7 at acpi0: bus -1 (RP06)
> acpiprt8 at acpi0: bus -1 (RP07)
> acpiprt9 at acpi0: bus -1 (RP08)
> acpiprt10 at acpi0: bus -1 (PEG0)
> acpiprt11 at acpi0: bus -1 (PEG1)
> acpiprt12 at acpi0: bus -1 (PEG2)
> acpiprt13 at acpi0: bus -1 (PEG3)
> acpiec0 at acpi0
> acpicpu0 at acpi0: C2(500@80 io@0x414), C1(1000@1 halt), PSS
> acpicpu1 at acpi0: C2(500@80 io@0x414), C1(1000@1 halt), PSS
> acpipwrres0 at acpi0: FN00, resource for FAN0
> acpipwrres1 at acpi0: FN01, resource for FAN1
> acpipwrres2 at acpi0: FN02, resource for FAN2
> acpipwrres3 at acpi0: FN03, resource for FAN3
> acpipwrres4 at acpi0: FN04, resource for FAN4
> acpitz0 at acpi0: critical temperature is 99 degC
> acpitz1 at acpi0: critical temperature is 99 degC
> acpibat0 at acpi0: BAT1 type LION oem "SAMSUNG Electronics"
> acpicmos0 at acpi0
> "ETD0B00" at acpi0 not configured
> acpiac0 at acpi0: AC unit online
> acpibtn0 at acpi0: LID0
> acpibtn1 at acpi0: PWRB
> "PNP0C0B" at acpi0 not configured
> "PNP0C0B" at acpi0 not configured
> "PNP0C0B" at acpi0 not configured
> "PNP0C0B" at acpi0 not configured
> "PNP0C0B" at acpi0 not configured
> acpivideo0 at acpi0: GFX0
> acpivout0 at acpivideo0: DD02
> cpu0: Enhanced SpeedStep 1597 MHz: speeds: 1601, 1600, 1500, 1400, 1300, 
> 1200, 1100, 1000, 900, 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 2G Host" rev 0x09
> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 3000" rev 0x09
> drm0 at inteldrm0
> inteldrm0: msi
> inteldrm0: 1366x768, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> "Intel 6 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured
> ehci0 at pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x04: apic 14 int 16
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 
> addr 1
> azalia0 at pci0 dev 27 function 0 "Intel 6 Series HD Audio" rev 0x04: msi
> azalia0: codecs: Realtek ALC269, Intel/0x2805, using Realtek ALC269
> audio0 at azalia0
> ppb0 at pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb4: msi
> pci1 at ppb0 bus 1
> iwn0 at pci1 dev 0 function 0 "Intel Centrino Advanced-N 6030" rev 0x34: msi, 
> MIMO 2T2R, MoW, address 88:53:2e:b6:8b:9a
> ppb1 at pci0 dev 28 function 3 "Intel 6 Series PCIE" rev 0xb4: msi
> pci2 at ppb1 bus 2
> re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x06: RTL8168E/8111E-VL 
> (0x2c80), msi, address e8:03:9a:38:8a:0a
> rgephy0 at re0 phy 7: RTL8169S/8110S/8211 PHY, rev. 5
> ppb2 at pci0 dev 28 function 4 "Intel 6 Series PCIE" rev 0xb4: msi
> pci3 at ppb2 bus 3
> xhci0 at pci3 dev 0 function 0 "ASMedia ASM1042 xHCI" rev 0x00: msi, xHCI 
> 0.150
> usb1 at xhci0: USB revision 3.0
> uhub1 at usb1 configuration 1 interface 0 "ASMedia xHCI root hub" rev 
> 3.00/1.00 addr 1
> ehci1 at pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x04: apic 14 int 23
> usb2 at ehci1: USB revision 2.0
> uhub2 at usb2 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 
> addr 1
> pcib0 at pci0 dev 31 function 0 "Intel HM65 LPC" rev 0x04
> ahci0 at pci0 dev 31 function 2 "Intel 6 Series AHCI" rev 0x04: msi, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> ahci0: port 1: 3.0Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, Samsung SSD 840, DXM0> SCSI3 0/direct 
> fixed naa.500253855003b103
> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
> sd1 at scsibus1 targ 1 lun 0: <ATA, SanDisk iSSD P4, SSD> SCSI3 0/direct 
> fixed naa.5001b4550c45159a
> sd1: 15272MB, 512 bytes/sector, 31277232 sectors, thin
> ichiic0 at pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x04: apic 14 
> int 18
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-10600 SO-DIMM
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> wsmouse0 at pms0 mux 0
> pms0: Elantech Touchpad, version 3, firmware 0x450f00
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT
> uhub3 at uhub0 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" 
> rev 2.00/0.00 addr 2
> uvideo0 at uhub3 port 4 configuration 1 interface 0 "123 WebCam 
> SC-13HDL11431N" rev 2.00/0.01 addr 3
> video0 at uvideo0
> uhub4 at uhub2 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" 
> rev 2.00/0.00 addr 2
> ugen0 at uhub4 port 5 "Intel product 0x0189" rev 2.00/69.19 addr 3
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd1a (c5c74842f74e2fd2.a) swap on sd1b dump on sd1b
> WARNING: / was not properly unmounted
> axen0 at uhub1 port 1 configuration 1 interface 0 "ASIX Elec. Corp. AX88179" 
> rev 3.00/1.00 addr 2
> axen0: AX88179, address 74:da:38:49:ed:82
> rgephy1 at axen0 phy 3: RTL8169S/8110S/8211 PHY, rev. 5
> rgephy1 detached
> axen0 detached
> axen0 at uhub1 port 1 configuration 1 interface 0 "ASIX Elec. Corp. AX88179" 
> rev 3.00/1.00 addr 2
> axen0: AX88179, address 74:da:38:49:ed:82
> rgephy1 at axen0 phy 3: RTL8169S/8110S/8211 PHY, rev. 5
> rgephy1 detached
> axen0 detached
> axen0 at uhub3 port 2 configuration 1 interface 0 "ASIX Elec. Corp. AX88179" 
> rev 2.10/1.00 addr 4
> axen0: AX88179, address 74:da:38:49:ed:82
> rgephy1 at axen0 phy 3: RTL8169S/8110S/8211 PHY, rev. 5
> axen0: usb errors on rx: IOERROR
> rgephy1 detached
> axen0 detached
> axen0 at uhub1 port 1 configuration 1 interface 0 "ASIX Elec. Corp. AX88179" 
> rev 3.00/1.00 addr 2
> axen0: AX88179, address 74:da:38:49:ed:82
> rgephy1 at axen0 phy 3: RTL8169S/8110S/8211 PHY, rev. 5
> rgephy1 detached
> axen0 detached
> axen0 at uhub3 port 2 configuration 1 interface 0 "ASIX Elec. Corp. AX88179" 
> rev 2.10/1.00 addr 4
> axen0: AX88179, address 74:da:38:49:ed:82
> rgephy1 at axen0 phy 3: RTL8169S/8110S/8211 PHY, rev. 5
> Controller /dev/usb0:
> addr 01: 8086:0000 Intel, EHCI root hub
>          high speed, self powered, config 1, rev 1.00
>          driver: uhub0
>          port 01: 0000.0503 connect enabled power
>          port 02: 0000.0500 power
> addr 02: 8087:0024 Intel, Rate Matching Hub
>          high speed, self powered, config 1, rev 0.00
>          driver: uhub3
>          port 01: 0000.0100 power
>          port 02: 0000.0503 connect enabled power
>          port 03: 0000.0100 power
>          port 04: 0000.0503 connect enabled power
>          port 05: 0000.0100 power
>          port 06: 0000.0100 power
> addr 03: 2232:1018 123, WebCam SC-13HDL11431N
>          high speed, power 500 mA, config 1, rev 0.01
>          driver: uvideo0
> addr 04: 0b95:1790 ASIX Elec. Corp., AX88179
>          high speed, power 248 mA, config 1, rev 1.00, iSerialNumber 
> 00000000000151
>          driver: axen0
> Controller /dev/usb1:
> addr 01: 1b21:0000 ASMedia, xHCI root hub
>          super speed, self powered, config 1, rev 1.00
>          driver: uhub1
>          port 01: 0040.02c0 power ss.inactive
>          port 02: 0000.02a0 power Rx.detect
>          port 03: 0010.02a0 power Rx.detect
>          port 04: 0000.02a0 power Rx.detect
> Controller /dev/usb2:
> addr 01: 8086:0000 Intel, EHCI root hub
>          high speed, self powered, config 1, rev 1.00
>          driver: uhub2
>          port 01: 0000.0503 connect enabled power
>          port 02: 0000.0500 power
> addr 02: 8087:0024 Intel, Rate Matching Hub
>          high speed, self powered, config 1, rev 0.00
>          driver: uhub4
>          port 01: 0000.0100 power
>          port 02: 0000.0100 power
>          port 03: 0000.0100 power
>          port 04: 0000.0100 power
>          port 05: 0000.0103 connect enabled power
>          port 06: 0000.0100 power
> addr 03: 8086:0189 Intel, product 0x0189
>          full speed, self powered, config 1, rev 69.19
>          driver: ugen0

Reply via email to