This bug report is missing log files. Please run
$ apport-collect 2100787
on the affected machine.
** Changed in: linux (Ubuntu)
Status: New => Incomplete
--
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:
Incomplete
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 : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp