Discussion:
urtw driver in OpenBSD 6.1
w***@wenri.org
2017-06-05 19:43:36 UTC
Permalink
Synopsis: WiFi card can not connect to AP in most cases
Category: driver
System : OpenBSD 6.1
Details : OpenBSD 6.1-stable (GENERIC) #2: Tue Jun 6 00:27:17 HKT 2017
***@yee.my.domain:/sys/arch/loongson/compile/GENERIC

Architecture: OpenBSD.loongson
Machine : loongson
I am a student major in CS. Recently I installed OpenBSD 6.1 on a Loongson Lemote Notebook. After install, I found there is problem with the USB WiFi card: it can not connect to AP. However, I can tell this is not a hardware problem since I connect to the same AP using Linux kernel from GNU Linux-libre project on this notebook without any problem.

After a little bit research, I guess it might be the txpower and/or rfgain problem. Because occasionally, it can connect to the AP, but hardly to send/recv a ping (only one echo packet successfully received during test). Meanwhile, if I put the AP just near by the notebook, it can connect and the send/recv packet without problem.

I did try to compare the driver code with linux source tree: https://github.com/torvalds/linux/tree/master/drivers/net/wireless/realtek/rtl818x. But there are so many differences and undocumented magic number, which I could not understand.
Connect to wifi using notebook, especially an AP that is far enough to reveal the suspect txpower and/or rfgain problem.
Not known. Maybe fix the initialization code in driver.


dmesg:
OpenBSD 6.1-stable (GENERIC) #2: Tue Jun 6 00:27:17 HKT 2017
***@yee.my.domain:/sys/arch/loongson/compile/GENERIC
real mem = 1073741824 (1024MB)
avail mem = 1057243136 (1008MB)
mainbus0 at root: Lemote Yeeloong
cpu0 at mainbus0: STC Loongson2F CPU 797 MHz, STC Loongson2F FPU
cpu0: cache L1-I 64KB D 64KB 4 way, L2 512KB 4 way
bonito0 at mainbus0: memory and PCI-X controller, rev 1
pci0 at bonito0 bus 0
rl0 at pci0 dev 7 function 0 "Realtek 8139" rev 0x10: irq 5, address 00:23:8b:b5:39:8e
rlphy0 at rl0 phy 0: RTL internal PHY
smfb0 at pci0 dev 8 function 0 "Silicon Motion LynxEM+" rev 0xb0: 1024x600, 16bpp
wsdisplay0 at smfb0 mux 1: console (std, vt100 emulation)
ohci0 at pci0 dev 9 function 0 "NEC USB" rev 0x44: irq 7, version 1.0
ehci0 at pci0 dev 9 function 1 "NEC USB" rev 0x05: irq 7
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "NEC EHCI root hub" rev 2.00/1.00 addr 1
glxpcib0 at pci0 dev 14 function 0 "AMD CS5536 ISA" rev 0x03: rev 3, 32-bit 3579545Hz timer, watchdog, gpio, i2c
isa0 at glxpcib0
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
mcclock0 at isa0 port 0x70/2: mc146818 or compatible
ykbec0 at isa0 port 0x381/3
gpio1 at glxpcib0: 32 pins
iic at glxpcib0 not configured
glxclk0 at glxpcib0: clock, prof
pciide0 at pci0 dev 14 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <SanDisk pSSD 8GB>
wd0: 4-sector PIO, LBA, 7815MB, 16007040 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
auglx0 at pci0 dev 14 function 3 "AMD CS5536 Audio" rev 0x01: isa irq 9, CS5536 AC97
ac97: codec id 0x414c4760 (Avance Logic ALC655 rev 0)
audio0 at auglx0
ohci1 at pci0 dev 14 function 4 "AMD CS5536 USB" rev 0x02: isa irq 11, version 1.0, legacy support
ehci1 at pci0 dev 14 function 5 "AMD CS5536 USB" rev 0x02: isa irq 11
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "NEC OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00 addr 1
apm0 at mainbus0
umass0 at uhub1 port 1 configuration 1 interface 0 "Generic USB2.0-CRW" rev 2.00/58.87 addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <Generic-, Multi-Card, 1.00> SCSI0 0/direct removable serial.0bda0158114173400000
urtw0 at uhub1 port 4 configuration 1 interface 0 "Realtek RTL8187B" rev 2.00/2.00 addr 3
urtw0: RTL8187B rev E, address 00:17:c4:5a:10:e2
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
pmon bootpath: /dev/disk/wd0
boot device: wd0
root on wd0a (7d530b3da7f390af.a) swap on wd0b dump on wd0b

usbdevs:
Controller /dev/usb0:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), NEC(0x1033), rev 1.00
port 1 powered
port 2 powered
port 3 powered
Controller /dev/usb1:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), AMD(0x1022), rev 1.00
port 1 addr 2: high speed, power 500 mA, config 1, USB2.0-CRW(0x0158), Generic(0x0bda), rev 58.87, iSerialNumber 20071114173400000
port 2 powered
port 3 powered
port 4 addr 3: high speed, power 500 mA, config 1, RTL8187B(0x8189), Realtek(0x0bda), rev 2.00, iSerialNumber 00e04c000001
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), NEC(0x1033), rev 1.00
port 1 powered
port 2 powered
port 3 powered
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), AMD(0x1022), rev 1.00
port 1 powered
port 2 powered
port 3 powered
port 4 powered

Loading...