# [SOLVED] Kernel BUG on plugging-in USB WiFi MT7601U (Ralink)

## evgsol

Hi,

I have just installed Gentoo and trying to connect to the Internet through USB WiFi MT7601U (148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter).

Kernel module for it was build as module (here is my kernel config).

Unfortunately, on boot (or on plugging-in attempt) I see this trace in dmesg:

```

[    6.402861] skbuff: skb_under_panic: text:ffffffffa018426e len:12 put:4 head:ffff88020b73d604 data:ffff88020b73d5fc tail:0x8 end:0xc0 dev:<NULL>

[    6.404030] ------------[ cut here ]------------

[    6.404585] kernel BUG at net/core/skbuff.c:105!

[    6.405132] invalid opcode: 0000 [#1] SMP

[    6.405664] Modules linked in: crc32_pclmul nvidia(PO) crc32c_intel ghash_clmulni_intel aesni_intel

[    6.405882] crct10dif_pclmul: Unknown symbol crc_t10dif_generic (err 0)

[    6.406806]  aes_x86_64

[    6.406818]  mt7601u(+) joydev firewire_ohci glue_helper firewire_core lrw ablk_helper cryptd serio_raw crc_itu_t efivarfs

[    6.408042] CPU: 0 PID: 1967 Comm: udevd Tainted: P         C O    4.9.95-gentoo #2

[    6.408687] Hardware name: System manufacturer System Product Name/P8P67 EVO, BIOS 3207 04/13/2012

[    6.410020] task: ffff8802144bb500 task.stack: ffffc900019a8000

[    6.410707] RIP: 0010:[<ffffffff817f463c>]  [<ffffffff817f463c>] skb_panic+0x5c/0x60

[    6.411413] RSP: 0018:ffffc900019ab968  EFLAGS: 00010296

[    6.412095] RAX: 0000000000000084 RBX: ffff8802042e9580 RCX: ffffffff82048cf8

[    6.412773] RDX: 0000000000000084 RSI: 0000000000000246 RDI: ffffffff82298e2c

[    6.413452] RBP: ffffc900019ab988 R08: 0000000000000000 R09: 0000000000000000

[    6.414133] R10: ffff88020b73d600 R11: 0000000000000411 R12: ffff88020f591900

[    6.414823] R13: 0000000050100000 R14: 0000000000000000 R15: 0000000000000000

[    6.415525] FS:  00007f62f34b0780(0000) GS:ffff88021ec00000(0000) knlGS:0000000000000000

[    6.416234] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033

[    6.416935] CR2: 00007f456ff43b50 CR3: 0000000203daa000 CR4: 0000000000060670

[    6.417654] Stack:

[    6.418369]  ffff88020b73d5fc 0000000000000008 00000000000000c0 ffffffff81e7cda7

[    6.419126]  ffffc900019ab998 ffffffff817f5877 ffffc900019abac8 ffffffffa018426e

[    6.419896]  0000000000000000 0000000000000000 0000000000000000 ffff88021391e098

[    6.420676] Call Trace:

[    6.421445]  [<ffffffff817f5877>] skb_push+0x37/0x40

[    6.422225]  [<ffffffffa018426e>] mt7601u_mcu_msg_send+0xde/0x510 [mt7601u]

[    6.423009]  [<ffffffff81181b08>] ? __kmalloc_node_track_caller+0x128/0x240

[    6.423790]  [<ffffffff817f7093>] ? __alloc_skb+0x73/0x1c0

[    6.424546]  [<ffffffff817f49ac>] ? __kmalloc_reserve.isra.39+0x2c/0x80

[    6.425291]  [<ffffffff817f7067>] ? __alloc_skb+0x47/0x1c0

[    6.426026]  [<ffffffff817f70a7>] ? __alloc_skb+0x87/0x1c0

[    6.426753]  [<ffffffffa0184e22>] mt7601u_mcu_cmd_init+0x42/0x100 [mt7601u]

[    6.427490]  [<ffffffffa0182880>] ? mt7601u_wr+0x30/0xc0 [mt7601u]

[    6.428210]  [<ffffffffa0182ee7>] mt7601u_init_hardware+0x127/0x4a0 [mt7601u]

[    6.428918]  [<ffffffffa0182771>] mt7601u_probe+0x201/0x240 [mt7601u]

[    6.429601]  [<ffffffff816ee31c>] usb_probe_interface+0xfc/0x270

[    6.430265]  [<ffffffff815fc66d>] driver_probe_device+0x1fd/0x2c0

[    6.430917]  [<ffffffff815fc7c6>] __driver_attach+0x96/0xa0

[    6.431550]  [<ffffffff815fc730>] ? driver_probe_device+0x2c0/0x2c0

[    6.432166]  [<ffffffff815fa6fb>] bus_for_each_dev+0x5b/0x90

[    6.432773]  [<ffffffff815fbea9>] driver_attach+0x19/0x20

[    6.433368]  [<ffffffff815fba33>] bus_add_driver+0x113/0x210

[    6.433949]  [<ffffffff815fcfeb>] driver_register+0x5b/0xd0

[    6.434519]  [<ffffffff816eceac>] usb_register_driver+0x7c/0x130

[    6.435094]  [<ffffffffa0196000>] ? 0xffffffffa0196000

[    6.435668]  [<ffffffffa019601e>] mt7601u_driver_init+0x1e/0x20 [mt7601u]

[    6.436248]  [<ffffffff81000408>] do_one_initcall+0x38/0x140

[    6.436829]  [<ffffffff81168dec>] ? __vunmap+0x7c/0xc0

[    6.437398]  [<ffffffff8117e7f3>] ? kmem_cache_alloc_trace+0x33/0x150

[    6.437963]  [<ffffffff8112b4a3>] do_init_module+0x5a/0x1c9

[    6.438517]  [<ffffffff810d3172>] load_module+0x1e02/0x2420

[    6.439060]  [<ffffffff810d04f0>] ? __symbol_put+0x40/0x40

[    6.439589]  [<ffffffff8118df9e>] ? kernel_read_file+0x19e/0x1c0

[    6.440115]  [<ffffffff8118e074>] ? kernel_read_file_from_fd+0x44/0x70

[    6.440632]  [<ffffffff810d397a>] SYSC_finit_module+0xba/0xc0

[    6.441139]  [<ffffffff810d3999>] SyS_finit_module+0x9/0x10

[    6.441638]  [<ffffffff81002a26>] do_syscall_64+0x56/0xc0

[    6.442130]  [<ffffffff81a2b7be>] entry_SYSCALL_64_after_swapgs+0x58/0xc6

[    6.442627] Code: c4 00 00 00 48 89 44 24 10 8b 87 c0 00 00 00 48 89 44 24 08 48 8b 87 d0 00 00 00 48 c7 c7 b8 3d e8 81 48 89 04 24 e8 83 6b 93 ff <0f> 0b 66 90 55 48 89 e5 41 57 41 56 41 55 41 54 53 65 4c 8b 34 

[    6.444334] RIP  [<ffffffff817f463c>] skb_panic+0x5c/0x60

[    6.444897]  RSP <ffffc900019ab968>

[    6.445465] ---[ end trace e63009d84d0744ca ]---

```

What am I doing wrong? How to debug this?

[Moderator edit: changed [quote] tags to [code] tags to preserve output layout. -Hu]

----------

## Hu

You're using a buggy kernel driver, that's what you're doing wrong.  :Smile:   Historically, wireless has been more trouble than wired due to vendors being uncooperative.  Wireless is much better than it was 10 years ago though.  If you have a wired connection available, that will likely work well while you resolve your wireless problem.

Please try the following:Test with an untainted kernel.  This is not likely to help in this case, but is a very good idea if you want to report the problem upstream.Test with a recent kernel.  You are several releases behind on 4.9.x, and that itself is very behind mainline (which is currently doing -rc kernels for 4.17).  Your problem may already be fixed in a newer kernel.  Try the latest 4.16.x (as of my post, 4.16.9 - but if newer is available when you read this, use that instead).  If you are new to Linux, stay away from -rc kernels for now.

----------

## evgsol

Thanks for the answer, Hu!

I upgraded kernel to 4.16.9 and this driver works now.

----------

## Hu

Glad to help, and that your first forum thread was solved quickly and easily.  I had hoped this was fixed upstream since kernel BUG events are so severe, but there was the possibility that this device and/or the triggering conditions were rare enough that you were unique.  If so, it might have required a few rounds of debugging before a resolution was found.

When you are satisfied with the resolution of a thread, it is helpful to edit the opening post's title to mark the thread as SOLVED so that other readers know no further work is required.  In this case, I applied the change.

----------

