Skip to content

[8192cu] Enables cfg80211 #1489

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 9, 2016
Merged

Conversation

fran6co
Copy link

@fran6co fran6co commented May 24, 2016

@popcornmix
Copy link
Collaborator

@MrEngman any comments?

@fran6co
Copy link
Author

fran6co commented May 24, 2016

Don't merge it yet, I'm having some problems with the connection it gets a bit spotty as it runs for some time.

@fran6co
Copy link
Author

fran6co commented May 26, 2016

Fixed, it seems to be working now.

@MrEngman
Copy link

Hi @popcornmix,

First I must apologise for not responding sooner but I've not been too well for the last couple of weeks. Recovering now but then I received your request for comment and that gave me a real shock and I'm just recovering from that :)

I feel really honoured to be asked for my opinion.

I must say that I've been involved with wifi on the Pi pretty much since it first appeared, compiling a variety of out of tree drivers, and I guess am one of the reasons the 8192cu driver was included in the image, however, compiling wifi drivers and actually knowing how they work are two completely different matters. However, I do think it would be good to update the driver.

I have updated the driver on one of my Pi's and have been running tests transferring data back and forth from the Pi 2 B and a Win7 laptop for the last couple of days and it would appear to be running without any problems. @fran6co looks to have done a good job.

There is just one minor alteration I made. In the past I had noticed when compiling the kernel that there was a warning from the 8192cu driver and this was still there when I compiled the kernel before applying @fran6co's update -

  CC [M]  drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/os_intfs.o
drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/os_intfs.c:999:2: warning: initialization from incompatible pointer type [enabled by default]
  .ndo_select_queue = rtw_select_queue,
  ^
drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/os_intfs.c:999:2: warning: (near initialization for ‘rtw_netdev_ops.ndo_select_queue’) [enabled by default]
  CC [M]  drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/usb_intf.o

I applied an additional patch to remove that warning. I have used the same patch on other Realtek drivers. The patch is -

diff -aur linux/drivers/net/wireless/realtek/rtl8192cu-old/os_dep/linux/os_intfs.c linux/drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/os_intfs.c
--- linux/drivers/net/wireless/realtek/rtl8192cu-old/os_dep/linux/os_intfs.c    2015-12-30 16:52:02.256591427 +0000
+++ linux/drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/os_intfs.c        2015-12-30 15:44:24.256765365 +0000
@@ -945,7 +945,14 @@
        return dscp >> 5;
 }

-static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb)
+static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)
+       , void *accel_priv
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
+       , select_queue_fallback_t fallback
+#endif
+)
 {
        _adapter        *padapter = rtw_netdev_priv(dev);
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;


@fran6co
Copy link
Author

fran6co commented May 28, 2016

Thanks @MrEngman! Should I apply this patch in this PR or would be better to add it to #1488 ?

@MrEngman
Copy link

I'm not sure, Perhaps you should wait for @popcornmix to suggest where.

@fran6co
Copy link
Author

fran6co commented May 28, 2016

Could you review those changes too?

@popcornmix
Copy link
Collaborator

@fran6co probably best to add @MrEngman's patch to #1488.

@pelwell any objections to this?

@fran6co
Copy link
Author

fran6co commented May 31, 2016

@popcornmix I did add his patch to #1488. 2bb47d2

WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
#else
IEEE80211_BSS_TYPE_ESS, IEEE80211_PRIVACY_ANY);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use TABs for indentation.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@pelwell
Copy link
Contributor

pelwell commented May 31, 2016

checkpatch has lots of issues with it - see https://gist.github.com/pelwell/e42758ee8cbe2ca864c6eb0452df54f6.

@fran6co
Copy link
Author

fran6co commented May 31, 2016

@pelwell I didn't run checkpatch... I'll fix all those issue.

@pelwell
Copy link
Contributor

pelwell commented May 31, 2016

OK - when that's fixed and you've squashed them to one patch I'm happy for it to be merged.

@fran6co
Copy link
Author

fran6co commented May 31, 2016

Most of those errors and warnings that come from the realtek driver (for example C99 stuff). Should I create a new commit fixing all that stuff in all the realtek code?

@popcornmix
Copy link
Collaborator

I'd say it's probably not worth fixing warnings from the existing realtek driver.
Ideally it will dropped one day (when upstream driver has improved sufficiently).

But any code you change would be better to match what upstream prefers.

@fran6co
Copy link
Author

fran6co commented May 31, 2016

There are some warning I can't fix, the code uses extern and checkpatch complains about it.

@fran6co
Copy link
Author

fran6co commented May 31, 2016

Same goes for the use of LINUX_VERSION_CODE

@fran6co
Copy link
Author

fran6co commented May 31, 2016

I think it should be all or nothing with this, the realtek driver doesn't comply to any of the Linux standards. I could clean and reformat the code to do so but if this driver is not going to be merged upstream I don't see the point. If I just clean this patch, it's going to be a mismatch of code styles in an already messy code.

@popcornmix
Copy link
Collaborator

Yes, I think getting the whole realtek driver through checkpatch is too big a job.

@pelwell are you okay with how it is currently?

@pelwell
Copy link
Contributor

pelwell commented May 31, 2016

Yes. Let's hope it has a short life.

@popcornmix
Copy link
Collaborator

Yes, we should start building the upstream driver, with it disabled by default, but easily enabled.
Encourage more users to use the upstream driver and switch the default at some point.

@MrEngman / @fran6co do you know which driver gets used if the kernel is built with both the upstream and realtek drivers?

@fran6co
Copy link
Author

fran6co commented May 31, 2016

Just tested, it loads the upstream one.

@popcornmix
Copy link
Collaborator

Okay, it would have been easier if it were the realtek one.
I assume if you blacklist the upstream one you get the realtek one loaded?

@fran6co
Copy link
Author

fran6co commented May 31, 2016

Yeah, I'm using blacklist rtl8192cu.

@clivem
Copy link

clivem commented May 31, 2016

If you have time to play around with this, you probably also want to enable the upstream rtl8xxxu driver and test that with 8188CUS and 8192CU chipsets.

@fran6co
Copy link
Author

fran6co commented Jun 1, 2016

Squashed the commits

@popcornmix popcornmix merged commit 627f91a into raspberrypi:rpi-4.4.y Jun 9, 2016
@fran6co fran6co deleted the cfg80211 branch June 9, 2016 15:58
@clivem
Copy link

clivem commented Jun 9, 2016

@popcornmix WARNING I've got a feeling that the merging of this PR is the reason that none of the 6 Pi's with 8188 dongles I have in my test group, have re-appeared on the network since I updated the kernel an hour ago and rebooted them!

@popcornmix
Copy link
Collaborator

@clivem would be good if you can confirm that reverting this commit fixes it.
Also any differences in dmesg or lsmod output would be useful.

@clivem
Copy link

clivem commented Jun 9, 2016

@popcornmix Yes, I'll investigate later. Sorry, not in the same physical location that they are, right now. And as is always the case, when you need it, none of those 8188 dongled units are one of the 3 units that have a USB serial console cable plugged into the NUC sat next to them. I think I need to make a bulk purchase of USB serial cables, and daisy chain a few USB hubs back to the NUC, so I have a serial console for each one of the units in the test group. One rainy day......

@MrEngman
Copy link

MrEngman commented Jun 9, 2016

Just compiled the updated kernel and the warning when compiling the 8192cu driver I mentioned earlier in this issue is still there. What happened to the patch to fix it?

Does the update not include the patches in #1488 where I think my patch ended up in?

I initially tested the updated driver with just #1489 but then also added #1488. No obvious differences in operation.

Just going to check with 8188eu wifi but don't expect to find any problems But you never know.... ;)

@clivem
Copy link

clivem commented Jun 9, 2016

Just going to check with 8188eu wifi but don't expect to find any problems

Eh, I thought the 8188 chip with EU suffix uses a completely different driver, not 8192cu driver?

Can the person who submitted the pull request, actually tell me what the supposed benefit of this patch is? It is supposed to result in the kernels cfg80211 being used, rather than the the Realtek code that is bundled with the out-of-tree driver?

@MrEngman
Copy link

MrEngman commented Jun 9, 2016

So what wifi dongles are you using, 8188??

Just assumed 8188 referred too 8188eu.

@fran6co
Copy link
Author

fran6co commented Jun 9, 2016

@clivem This PR enables the cfg80211 interface to the driver that lets you use more modern tools to manage the dongles like hostapd, iw and other tools.

@fran6co
Copy link
Author

fran6co commented Jun 9, 2016

For example I needed this patch to use the Pi as a WiFi repeater

@fran6co
Copy link
Author

fran6co commented Jun 9, 2016

@MrEngman yes, your patch is in the #1488 PR

@MrEngman
Copy link

MrEngman commented Jun 9, 2016

Probable should have been here in #1489 then.

@clivem
Copy link

clivem commented Jun 9, 2016

@popcornmix I've just gotten a third party to pull the power on those 6x RTL8188CUS equipped Pi's and swap the dongles for MT7601U's. 5 are now back on the network. (The one that isn't is probably going to require re-imaging due to having the power pulled.) From what I can see in the logs, the 8192cu driver did load, but the interface (wlan0) wasn't created and they never even attempted to associate with one of the AP's. Which wouldn't be too surprising on the basis that the interface wasn't created....... There are no errors in the logs. It just seems to be that with this patch, the interfaces never got created. Needs further investigation tomorrow.

@fran6co
Copy link
Author

fran6co commented Jun 10, 2016

@MrEngman I don't know why do you see a warning without that patch as it's only for support kernel 3.13, it is compatible for > 3.13 2bb47d2

@fran6co
Copy link
Author

fran6co commented Jun 10, 2016

@clivem what are you using for setting up the interfaces? I'm using /etc/network/interfaces.d and it works without changing anything.

@MrEngman
Copy link

MrEngman commented Jun 10, 2016

@fran6co Yes, the patch is for > 3.13, but also additionally > 3.14.

But it is not in the update, hence the warning when compiling is still there.

@clivem
Copy link

clivem commented Jun 10, 2016

what are you using for setting up the interfaces?

NetworkManager...... Which seems to be the problem. This patch results in the network interface no longer being visible to NetworkManager, so it cannot be managed by NetworkManager....... Which wasn't a problem for the last 3 and a half years, prior to this patch. This patch might be enabling the functionality you need for hostapd, but it is breaking compatibility with NetworkManager, which has worked ever since the vendor 8192cu driver was made the default RPi driver for 8188CUS/8192CU.
Sorry, don't have time to investigate further right now, I have backed-out the patch for my builds. I just need wifi to work and be managed by NetworkManager.

@fran6co
Copy link
Author

fran6co commented Jun 10, 2016

I never intended for this PR to be released into the wild without #1488.

I think your problem comes from pvaret/rtl8192cu-fixes#23 that is fixed in the other PR.

@fran6co
Copy link
Author

fran6co commented Jun 10, 2016

If you do find some extra time to test #1488 on top of this PR it would be great.

@fran6co
Copy link
Author

fran6co commented Jun 10, 2016

@MrEngman you are right, I got confused because when you asked for the change part of it was already implemented in the other commits included in #1488

@fran6co fran6co mentioned this pull request Jun 12, 2016
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Jun 13, 2016
See: raspberrypi/linux#1524

kernel: 8192cu: Enable cfg80211 and various fixes
See: raspberrypi/linux#1489
See: raspberrypi/linux#1488

firmware: dt-blob: Don't statically set i2c0 function on pins

firmware: image_fx: Mask off unwanted flags from generated frames

firmware: raspivid: Add option -lev/--level to raspvid to select H264 Level
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this pull request Jun 13, 2016
See: raspberrypi/linux#1524

kernel: 8192cu: Enable cfg80211 and various fixes
See: raspberrypi/linux#1489
See: raspberrypi/linux#1488

firmware: dt-blob: Don't statically set i2c0 function on pins

firmware: image_fx: Mask off unwanted flags from generated frames

firmware: raspivid: Add option -lev/--level to raspvid to select H264 Level
@tootai
Copy link

tootai commented Oct 29, 2016

I crosspost from cfg80211 #631. Just did a rpi-update which brought 4.4.27+ Problem is still existing.

neuschaefer pushed a commit to neuschaefer/raspi-binary-firmware that referenced this pull request Feb 27, 2017
See: raspberrypi/linux#1524

kernel: 8192cu: Enable cfg80211 and various fixes
See: raspberrypi/linux#1489
See: raspberrypi/linux#1488

firmware: dt-blob: Don't statically set i2c0 function on pins

firmware: image_fx: Mask off unwanted flags from generated frames

firmware: raspivid: Add option -lev/--level to raspvid to select H264 Level
@BuMRK
Copy link

BuMRK commented Jun 2, 2020

uname -a
Linux raspberrypi3b 5.4.42-v7+ #1319 SMP Wed May 20 14:06:11 BST 2020 armv7l GNU/Linux

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.168 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fd1c:56e9:61ee:0:ba27:ebff:fe51:ab75 prefixlen 64 scopeid 0x0
inet6 fe80::ba27:ebff:fe51:ab75 prefixlen 64 scopeid 0x20
inet6 2a02:c7f:a42d:5300:ba27:ebff:fe51:ab75 prefixlen 64 scopeid 0x0
ether b8:27:eb:51ab75 txqueuelen 1000 (Ethernet)
RX packets 2351 bytes 214429 (209.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1168 bytes 174957 (170.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 266 bytes 22440 (21.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 266 bytes 22440 (21.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.8.0.1 netmask 255.255.255.0 destination 10.8.0.1
inet6 fe80::2efa:47ef:2cc3:811a prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9 bytes 432 (432.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:13:ef:50:14:24 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 23 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[ 49.523565] tun: Universal TUN/TAP device driver, 1.6
[ 363.092546] ------------[ cut here ]------------
[ 363.093204] WARNING: CPU: 1 PID: 364 at net/wireless/sme.c:1088 __cfg80211_disconnected+0x554/0x5a0 [cfg80211]
[ 363.093221] Modules linked in: tun can_raw can w1_therm w1_gpio wire cn ip6table_filter ip6_tables xt_MASQUERADE iptable_nat nf_nat nf_conntrack nf_defrag_ipv4 xt_comment xt_tcpudp xt_multiport iptable_filter binfmt_misc joydev spidev 8192cu sha256_generic libsha256 evdev cfg80211 rfkill raspberrypi_hwmon raspberrypi_ts hwmon input_polldev bcm2835_codec(C) bcm2835_isp(C) bcm2835_v4l2(C) v4l2_mem2mem i2c_bcm2835 bcm2835_mmal_vchiq(C) spi_bcm2835 videobuf2_vmalloc videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 snd_bcm2835(C) videobuf2_common snd_pcm snd_timer videodev snd mc vc_sm_cma(C) fixed rpi_backlight backlight uio_pdrv_genirq uio i2c_bcm2708 i2c_dev ip_tables x_tables ipv6 nf_defrag_ipv6
[ 363.093538] CPU: 1 PID: 364 Comm: kworker/u8:3 Tainted: G WC 5.4.42-v7+ #1319
[ 363.093544] Hardware name: BCM2835
[ 363.093888] Workqueue: cfg80211 cfg80211_event_work [cfg80211]
[ 363.093899] Backtrace:
[ 363.093926] [<8010d458>] (dump_backtrace) from [<8010d750>] (show_stack+0x20/0x24)
[ 363.093941] r6:a2db0000 r5:00000000 r4:80d93a34 r3:b477c3ae
[ 363.093959] [<8010d730>] (show_stack) from [<808ae684>] (dump_stack+0xe0/0x124)
[ 363.093979] [<808ae5a4>] (dump_stack) from [<8011fd24>] (__warn+0xec/0x104)
[ 363.093996] r8:00000440 r7:00000009 r6:7f310168 r5:00000000 r4:00000000 r3:b477c3ae
[ 363.094013] [<8011fc38>] (__warn) from [<8011fdf4>] (warn_slowpath_fmt+0xb8/0xc0)
[ 363.094029] r9:7f310168 r8:00000440 r7:7f2e58c8 r6:00000009 r5:00000000 r4:80d04f48
[ 363.094343] [<8011fd40>] (warn_slowpath_fmt) from [<7f2e58c8>] (__cfg80211_disconnected+0x554/0x5a0 [cfg80211])
[ 363.094362] r9:00000000 r8:00000000 r7:a4c3fc24 r6:a4c3fc00 r5:aa08b800 r4:a8a1c1c0
[ 363.095024] [<7f2e5374>] (__cfg80211_disconnected [cfg80211]) from [<7f2b0b34>] (cfg80211_process_wdev_events+0x13c/0x160 [cfg80211])
[ 363.095043] r10:00000100 r9:00000122 r8:a4c3fc8c r7:a4c3fc24 r6:a4c3fc94 r5:a4c3fc00
[ 363.095050] r4:a1b39d80
[ 363.095689] [<7f2b09f8>] (cfg80211_process_wdev_events [cfg80211]) from [<7f2b0b98>] (cfg80211_process_rdev_events+0x40/0x98 [cfg80211])
[ 363.095708] r10:00000000 r9:00000100 r8:00000000 r7:a9a3a900 r6:aa080400 r5:a8a1c460
[ 363.095715] r4:a4c3fc00
[ 363.096307] [<7f2b0b58>] (cfg80211_process_rdev_events [cfg80211]) from [<7f2aa1b8>] (cfg80211_event_work+0x24/0x2c [cfg80211])
[ 363.096318] r5:a46f3780 r4:a8a1c0e4
[ 363.096619] [<7f2aa194>] (cfg80211_event_work [cfg80211]) from [<8013bd28>] (process_one_work+0x17c/0x4b4)
[ 363.096629] r4:a8a1c0e4 r3:7f2aa194
[ 363.096648] [<8013bbac>] (process_one_work) from [<8013c590>] (worker_thread+0x54/0x5b4)
[ 363.096665] r10:a46f3780 r9:a2db0038 r8:80d03d00 r7:aa080418 r6:00000088 r5:a46f3794
[ 363.096671] r4:aa080400
[ 363.096689] [<8013c53c>] (worker_thread) from [<80142974>] (kthread+0x13c/0x168)
[ 363.096706] r10:a2d80fdc r9:a4487e74 r8:8013c53c r7:a46f3780 r6:00000000 r5:a429a6c0
[ 363.096713] r4:a2d80fc0
[ 363.096731] [<80142838>] (kthread) from [<801010ac>] (ret_from_fork+0x14/0x28)
[ 363.096741] Exception stack(0xa2db1fb0 to 0xa2db1ff8)
[ 363.096753] 1fa0: 00000000 00000000 00000000 00000000
[ 363.096768] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 363.096779] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 363.096796] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:80142838
[ 363.096804] r4:a429a6c0 r3:80104648
[ 363.096945] ---[ end trace 6661c2c8b5d2b732 ]---

lsusb -v -D /dev/bus/usb/001/005
Device: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x8176 RTL8188CUS 802.11n WLAN Adapter
bcdDevice 2.00
iManufacturer 1 Realtek
iProduct 2 802.11n WLAN Adapter
iSerial 3 00e04c000001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 46
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=8176 Rev=02.00
S: Manufacturer=Realtek
S: Product=802.11n WLAN Adapter
S: SerialNumber=00e04c000001
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8192cu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants