This sounds like a kernel regression in 4.x Linux, at least for your specific hardware.
http://archlinuxarm.org/forum/viewtopic.php?f=53&t=8798
It may be in this commit, but it's hard to say since you didn't provide any further information about your system.
https://github.com/torvalds/linux/commit/a0b5cd4ac2d6542d524d8063961bf914b5df1efa
Some systems apparently are seeing issues with at least USB 3:
https://lists.debian.org/debian-kernel/2015/08/msg00066.html
So the real question is, what is your hardware, and what is the latest 4.x kernel you have tried. This may have been resolved in a recent 4.x release. Is the issue with usb 2 and 3, or just 3, or not related to usb version? That will help narrow it down. Your data looks like it's just usb2 max on your system.
Kernel regressions are normal.
As I tell people when they ask this type of question, a new linux kernel has several possible outcomes:
- something that didn't work before works now
- everything stayed the same on your system
- something that worked before, stopped working
- some things got better, and some things stopped working
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1455376
That's an Ubuntu bug with usb handling.
Usually bugs that impact things a lot of people use will get fixed relatively rapidly, so it's worth checking the latest release of the latest stable kernel, which I think is at 4.3 at the moment.
If you use ubuntu, you can run the liquorix kernel, at least if it's current ubuntu, not LTS, same for debian, non stable releases.
Seeing: inxi -bxxx would be helpful to show the basics of your system. inxi is installable from most distro repositories.
Here's Greg KH's list of USB changes for 4.0 / 3.20
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=e29876723f7cb7728f0d6a674d23f92673e9f112
usb: musb: fix device hotplug behind hub
usb: dwc2: Fix a bug in reading the endpoint directions from reg.
staging: emxx_udc: fix the build error
usb: Retry port status check on resume to work around RH bugs
Revert "usb: Reset USB-3 devices on USB-3 link bounce"
uhci-hub: use HUB_CHAR_*
usb: kconfig: replace PPC_OF with PPC
ehci-pci: disable for Intel MID platforms (update)
usb: gadget: Kconfig: use bool instead of boolean
usb: musb: blackfin: remove incorrect __exit_p()
USB: fix use-after-free bug in usb_hcd_unlink_urb()
ehci-pci: disable for Intel MID platforms
usb: host: pci_quirks: joing string literals
USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd)
USB: usbfs: allow URBs to be reaped after disconnection
cdc-acm: kill unnecessary messages
cdc-acm: add sanity checks
usb: phy: phy-generic: Fix USB PHY gpio reset
usb: dwc2: fix USB core dependencies
usb: renesas_usbhs: fix NULL pointer dereference in dma_release_channel()
http://kernelnewbies.org/Linux_4.0 shows the full change set.
https://lkml.org/lkml/2015/6/26/511 that's the changes in USB for 4.2-rc1. As you can see, asking 'what has changed' is not probably the exact right question, more useful would be to determine if the issue has been resolved for your hardware yet in the latest releases.
Regarding the size, it's recorded in your kernel's config file. For example, on Amazon EC2 here, it's 256 KiB.
# grep CONFIG_LOG_BUF_SHIFT /boot/config-`uname -r`
CONFIG_LOG_BUF_SHIFT=18
# perl -e 'printf "%d KiB\n",(1<<18)/1024'
256 KiB
#
Referenced in /kernel/printk/printk.c
#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
More information in /kernel/trace/ring_buffer.c
Note that if you've passed a kernel boot param "log_buf_len=N" (check using cat /proc/cmdline
) then that overrides the value in the config file.
Best Answer
Potential Problem?
You problem sounds like it's related to this particular issue with Samsung laptops + UEFI + Linux.
Further Research
I searched on your particular model # and did not find anything that jumped out as a potential source of your issue. So I do not think it's a widely know issue at least at this point, so your next course of action is to debug the issue.
Debugging a Kernel
Here are the order of things to try.
verbose
During the boot phase, add the following kernel parameter to the list.
debug
If the
verbose
argument doesn't shed any light the next level to check isdebug
.others
There are several levels beyond that, but let's not get ahead of ourselves. Let's try the above first and see if they show where the Kernel is hanging.
References