** Package changed: ubuntu => linux (Ubuntu) ** Tags added: focal jammy
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2100787 Title: USB FM transmitter not recognized after kernel update Status in linux package in Ubuntu: New Bug description: Hello, I occasionally use an USB FM transmitter to send audio from my laptop to hi-fi systems that don't have the ability to receive a bluetooth stream but have a FM tuner. I use that kind of cheap module which works great, in stereo mode (see picture in the JPG attachment): https://fr.aliexpress.com/item/32921292502.html?spm=a2g0o.store_pc_allItems_or_groupList.0.0.677dd1cb71GfSm&pdp_npi=4%40dis%21EUR%21%E2%82%AC%205%2C74%21%E2%82%AC%205%2C69%21%21%215.84%215.79%21%40211b6c1917410185656756898ea2ae%2166245292113%21sh%21FR%210%21X&_gl=1*xvmald*_gcl_au*NDk2OTk1ODI3LjE3NDEwMTgyMzE.*_ga*NjA0NjU3MDUyLjE3NDEwMTgyMzE.*_ga_VED1YSGNC7*MTc0MTAxODIzMS4xLjEuMTc0MTAxODU2My4xLjAuMA..&gatewayAdapt=glo2fra It is recognized on Ubuntu Desktop as an external sound card with the HID driver. It worked well until kernel 5.4.0-167 on Ubuntu 20.04 and it fails since 5.4.0-169. Bug occurs also on an updated Ubuntu desktop 22.04 with kernel 5.15.0-133. The USB device is working in USB 1.1 (see attached lsusb.txt file) and plugged into an USB 2.0 port. You will find in attachment the kernel logs (dmesg.txt) when device is recognized in 5.4.0-167 and when it is not recognized in 5.15.0-133 (dmesg_fail.txt). This bug exists since November 2023 but I may not have used my USB device since then, as I weekly update my software packages. When we look at the changelog of the identified patch, it fixes only bug #2043197. This bug was fixed by commit https://github.com/torvalds/linux/commit/59cf445754566984fd55af19ba7146c76e6627bc So, not sure about that but I assume the bug I encounter deals with the following code in drivers/usb/core/hub.c, as seen now on master branch: /* * Check the ep0 maxpacket guess and correct it if necessary. * maxp0 is the value stored in the device descriptor; * i is the value it encodes (logarithmic for SuperSpeed or greater). */ i = maxp0; if (udev->speed >= USB_SPEED_SUPER) { if (maxp0 <= 16) i = 1 << maxp0; else i = 0; /* Invalid */ } if (usb_endpoint_maxp(&udev->ep0.desc) == i) { ; /* Initial ep0 maxpacket guess is right */ } else if (((udev->speed == USB_SPEED_FULL || udev->speed == USB_SPEED_HIGH) && (i == 8 || i == 16 || i == 32 || i == 64)) || (udev->speed >= USB_SPEED_SUPER && i > 0)) { /* Initial guess is wrong; use the descriptor's value */ if (udev->speed == USB_SPEED_FULL) dev_dbg(&udev->dev, "ep0 maxpacket = %d\n", i); else dev_warn(&udev->dev, "Using ep0 maxpacket: %d\n", i); udev->ep0.desc.wMaxPacketSize = cpu_to_le16(i); usb_ep0_reinit(udev); } else { /* Initial guess is wrong and descriptor's value is invalid */ dev_err(&udev->dev, "Invalid ep0 maxpacket: %d\n", maxp0); retval = -EMSGSIZE; goto fail; } I am not a kernel source code specialist but as far as I understand, is there a missing part in the code not taking the "USB_SPEED_LOW" devices into account? Kind regards. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100787/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp