# [solved], kernel > 4.12.5 boot freeze

## pste

For me, kernel 4.12.6 & 4.12.7 hangs indefinitely during boot at "Setting system clock..."

Kernel configs are equal, no other system config changes are made either!

Booting kernel 4.12.5 works...

I'm using clock="local" in /etc/conf.d/hwclock (because of a virtually never used windows dual boot installation   :Cool:  )

I haven't (yet) started messing with time and timezone settings, shifting to UTC and so on, simply because it appears to work as supposed to with kernel 4.12.5...

Anyone having any ideas of what might be the problem, i.e. what the differences are between the kernels regarding system time settings during boot, and how to make the newest kernels work? 

Thanks!

/pste

EDIT: I've removed the [solved] label as that must've been a lucky chance because the problem remains for me, with 4.12.8 & 4.12.9 as well. I also changed the heading to indicate xhci_pci module as that's what I've been able to track down. Se Post below...

EDIT 2: comment to solved as new replyLast edited by pste on Thu Nov 30, 2017 2:20 pm; edited 6 times in total

----------

## oglueck

Check dmesg output for anything RTC related. Have you enabled PC style RTC in your kernel config?

----------

## toralf

 *pste wrote:*   

> For me, kernel 4.12.6 & 4.12.7 hangs indefinitely during boot at "Setting system clock..."
> 
> Kernel configs are equal, no other system config changes are made either!
> 
> Booting kernel 4.12.5 works...

 Maybe it is time for https://wiki.gentoo.org/wiki/Kernel_git-bisect ?  :Smile: 

----------

## pste

 *Quote:*   

> Maybe it is time for https://wiki.gentoo.org/wiki/Kernel_git-bisect ? 

 

Yeah, perhaps... especially since I've discovered that the problem probably has to do with something else than the hwclock!

The thing is, doing interactive booting and then escaping to console after starting each service, ends up not being possible after udev-triggers have loaded all the modules. That is, for kernel 4.12.5 I'm able to enter console, check dmesg and exit console to continue the boot process after every step, including after the modules have been loaded by udev-triggers. But for 4.12.6 and .7, after udev-triggers have loaded all the modules, everything halts. Hitting 4 - escape to console, results in nothing but a 4 typed to the screen. My guess now is (obviously) that the halt after the starting of hwclock during non-interactive start-up just happens to happen exactly when the module-loading problem hits the system...

I haven't changed any settings in kernel config, thus the modules I use are the same for all the kernels (and there's quite a few models to investigate...).

I'll try (when there's time) escaping to console with 4.12.7 and load all 4.12.5 modules manually and see if I can identify any particular one as the culprit...

Any other cleverer|more insightful ideas of how to proceed?

----------

## Jaglover

Just rebooted to 4.12.7, no issues here. You said lots of modules, any out-of kernel modules? You could skip the module loading and start loading them one by one to define the culprit.

----------

## HeXiLeD

Same problem here with gentoo_gremlin-sources from 4.12.5 to 4.12.8

The system was hanging on ntp-client time sync. After removing ntp from default run levels the OS booted properly but no keyboard or mouse worked either due to driver problem or the system hangs.

The upgrade from 4.9.24 was done with make oldconfig and no changes were done by me on the kernel config. 

All my external modules were recompiled and loaded without issues.

Someone changed something somewhere in these new sources and did not care about informing the community... probably just too see how it went (funzies).

Reverting to:

# eselect kernel list

Available kernel symlink targets:

```
  [1]   linux-4.9.34-gentoo *

  [2]   linux-4.12.5-gentoo

  [3]   linux-4.12.8-gentoo

```

Available:

# eix gentoo-sources

```
[I] sys-kernel/gentoo-sources

     Available versions:  

     (3.10.107) 3.10.107^bs

     (4.1.42) 4.1.42^bs

     (4.1.43) ~4.1.43^bs

     (4.4.75) 4.4.75^bs

     (4.4.82) ~4.4.82^bs

     (4.4.83) ~4.4.83^bs

     (4.9.34) 4.9.34^bs

     (4.9.43) ~4.9.43^bs

     (4.9.44) ~4.9.44^bs

     (4.12.5) 4.12.5^bs{tbz2}

     (4.12.6) ~4.12.6^bs

     (4.12.7) ~4.12.7^bs

     (4.12.8) (~)4.12.8^bs{tbz2}
```

Other details:

# dmesg | grep RTC

```
[    0.482547] rtc_cmos 00:01: RTC can wake from S4
```

cat /usr/src/linux-4.9.34-gentoo/.config| grep RTC 

```
CONFIG_HPET_EMULATE_RTC=y

CONFIG_RTC_LIB=y

CONFIG_RTC_MC146818_LIB=y

CONFIG_RTC_CLASS=y

CONFIG_RTC_HCTOSYS=y

CONFIG_RTC_HCTOSYS_DEVICE="rtc0"

# CONFIG_RTC_SYSTOHC is not set

# CONFIG_RTC_DEBUG is not set

# RTC interfaces

CONFIG_RTC_INTF_SYSFS=y

CONFIG_RTC_INTF_PROC=y

CONFIG_RTC_INTF_DEV=y

# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set

# CONFIG_RTC_DRV_TEST is not set

# I2C RTC drivers

# CONFIG_RTC_DRV_ABB5ZES3 is not set

# CONFIG_RTC_DRV_ABX80X is not set

# CONFIG_RTC_DRV_DS1307 is not set

# CONFIG_RTC_DRV_DS1374 is not set

# CONFIG_RTC_DRV_DS1672 is not set

# CONFIG_RTC_DRV_MAX6900 is not set

# CONFIG_RTC_DRV_RS5C372 is not set

# CONFIG_RTC_DRV_ISL1208 is not set

# CONFIG_RTC_DRV_ISL12022 is not set

# CONFIG_RTC_DRV_X1205 is not set

# CONFIG_RTC_DRV_PCF8523 is not set

# CONFIG_RTC_DRV_PCF85063 is not set

# CONFIG_RTC_DRV_PCF8563 is not set

# CONFIG_RTC_DRV_PCF8583 is not set

# CONFIG_RTC_DRV_M41T80 is not set

# CONFIG_RTC_DRV_BQ32K is not set

# CONFIG_RTC_DRV_S35390A is not set

# CONFIG_RTC_DRV_FM3130 is not set

# CONFIG_RTC_DRV_RX8010 is not set

# CONFIG_RTC_DRV_RX8581 is not set

# CONFIG_RTC_DRV_RX8025 is not set

# CONFIG_RTC_DRV_EM3027 is not set

# CONFIG_RTC_DRV_RV8803 is not set

# SPI RTC drivers

CONFIG_RTC_I2C_AND_SPI=y

# SPI and I2C RTC drivers

# CONFIG_RTC_DRV_DS3232 is not set

# CONFIG_RTC_DRV_PCF2127 is not set

# CONFIG_RTC_DRV_RV3029C2 is not set

# Platform RTC drivers

CONFIG_RTC_DRV_CMOS=y

# CONFIG_RTC_DRV_DS1286 is not set

# CONFIG_RTC_DRV_DS1511 is not set

# CONFIG_RTC_DRV_DS1553 is not set

# CONFIG_RTC_DRV_DS1685_FAMILY is not set

# CONFIG_RTC_DRV_DS1742 is not set

# CONFIG_RTC_DRV_DS2404 is not set

# CONFIG_RTC_DRV_STK17TA8 is not set

# CONFIG_RTC_DRV_M48T86 is not set

# CONFIG_RTC_DRV_M48T35 is not set

# CONFIG_RTC_DRV_M48T59 is not set

# CONFIG_RTC_DRV_MSM6242 is not set

# CONFIG_RTC_DRV_BQ4802 is not set

# CONFIG_RTC_DRV_RP5C01 is not set

# CONFIG_RTC_DRV_V3020 is not set

# on-CPU RTC drivers

# HID Sensor RTC drivers

# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
```

# cat /usr/src/linux-4.12.8-gentoo/.config| grep RTC   

```
CONFIG_HPET_EMULATE_RTC=y

CONFIG_RTC_LIB=y

CONFIG_RTC_MC146818_LIB=y

CONFIG_RTC_CLASS=y

CONFIG_RTC_HCTOSYS=y

CONFIG_RTC_HCTOSYS_DEVICE="rtc0"

# CONFIG_RTC_SYSTOHC is not set

# CONFIG_RTC_DEBUG is not set

# RTC interfaces

CONFIG_RTC_INTF_SYSFS=y

CONFIG_RTC_INTF_PROC=y

CONFIG_RTC_INTF_DEV=y

# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set

# CONFIG_RTC_DRV_TEST is not set

# I2C RTC drivers

# CONFIG_RTC_DRV_ABB5ZES3 is not set

# CONFIG_RTC_DRV_ABX80X is not set

# CONFIG_RTC_DRV_DS1307 is not set

# CONFIG_RTC_DRV_DS1374 is not set

# CONFIG_RTC_DRV_DS1672 is not set

# CONFIG_RTC_DRV_MAX6900 is not set

# CONFIG_RTC_DRV_RS5C372 is not set

# CONFIG_RTC_DRV_ISL1208 is not set

# CONFIG_RTC_DRV_ISL12022 is not set

# CONFIG_RTC_DRV_X1205 is not set

# CONFIG_RTC_DRV_PCF8523 is not set

# CONFIG_RTC_DRV_PCF85063 is not set

# CONFIG_RTC_DRV_PCF8563 is not set

# CONFIG_RTC_DRV_PCF8583 is not set

# CONFIG_RTC_DRV_M41T80 is not set

# CONFIG_RTC_DRV_BQ32K is not set

# CONFIG_RTC_DRV_S35390A is not set

# CONFIG_RTC_DRV_FM3130 is not set

# CONFIG_RTC_DRV_RX8010 is not set

# CONFIG_RTC_DRV_RX8581 is not set

# CONFIG_RTC_DRV_RX8025 is not set

# CONFIG_RTC_DRV_EM3027 is not set

# CONFIG_RTC_DRV_RV8803 is not set

# SPI RTC drivers

CONFIG_RTC_I2C_AND_SPI=y

# SPI and I2C RTC drivers

# CONFIG_RTC_DRV_DS3232 is not set

# CONFIG_RTC_DRV_PCF2127 is not set

# CONFIG_RTC_DRV_RV3029C2 is not set

# Platform RTC drivers

CONFIG_RTC_DRV_CMOS=y

# CONFIG_RTC_DRV_DS1286 is not set

# CONFIG_RTC_DRV_DS1511 is not set

# CONFIG_RTC_DRV_DS1553 is not set

# CONFIG_RTC_DRV_DS1685_FAMILY is not set

# CONFIG_RTC_DRV_DS1742 is not set

# CONFIG_RTC_DRV_DS2404 is not set

# CONFIG_RTC_DRV_STK17TA8 is not set

# CONFIG_RTC_DRV_M48T86 is not set

# CONFIG_RTC_DRV_M48T35 is not set

# CONFIG_RTC_DRV_M48T59 is not set

# CONFIG_RTC_DRV_MSM6242 is not set

# CONFIG_RTC_DRV_BQ4802 is not set

# CONFIG_RTC_DRV_RP5C01 is not set

# CONFIG_RTC_DRV_V3020 is not set

# on-CPU RTC drivers

# HID Sensor RTC drivers

# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set

```

Any differences on the RTC support ?   :Confused: 

My modules:

# lsmod

```
Module                  Size  Used by

batman_adv            150512  0

nvidia_uvm            593950  0

vboxpci                13972  0

vboxnetadp             18384  0

vboxnetflt             16490  0

nvidia_drm             32913  1

nvidia_modeset        812926  6 nvidia_drm

nvidia              12583565  165 nvidia_modeset,nvidia_uvm

vboxdrv               388459  3 vboxnetadp,vboxnetflt,vboxpci

sky2                   48328  0
```

*shrugs*

... gremlin developing ....

----------

## Jaglover

No keyboard is punishment for not looking at what you were doing during make oldconfig. USB_PCI needs to be enabled, probably.

----------

## HeXiLeD

 *Jaglover wrote:*   

> No keyboard is punishment for not looking at what you were doing during make oldconfig. USB_PCI needs to be enabled, probably.

 

Before:

```
cat /usr/src/linux-4.9.34-gentoo/.config| grep  USB_PCI
```

(no output)

```
cat /usr/src/linux-4.12.8-gentoo/.config| grep  USB_PCI

# CONFIG_USB_PCI is not set
```

 *Quote:*   

> The upgrade from 4.9.24 was done with make oldconfig and no changes were done by me on the kernel config.

 

Decided to give you the benefit of the doubt

After:

```
cat /usr/src/linux-4.12.8-gentoo/.config| grep  USB_PCI

CONFIG_USB_PCI=y
```

Result is the same:

 *Quote:*   

> ... OS booted properly but no keyboard or mouse worked either due to driver problem or the system hangs.

 

CONFIG_USB_PCI:

 *Quote:*   

> A lot of embeded system SOC (e.g. freescale T2080) have both
> 
> PCI and USB modules. But USB module is controlled by registers
> 
> directly, it have no relationship with PCI module.
> ...

 

Not everyone is on a router or netbook/laptop where usb pci support is commonly seen.

Also found no errors on dmesg

USB mouse/keyboard:

```
Bus 008 Device 002: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0 
```

(HID bus support (HID [=y])

cat linux-4.12.8-gentoo/.config| grep  CONFIG_HID_MICROSOFT (see this)

```

CONFIG_HID_MICROSOFT=y

```

```
Bus 008 Device 003: ID 1bcf:0002 Sunplus Innovation Technology Inc.
```

CONFIG_MOUSE_PS2

 *Quote:*   

> Someone changed something somewhere in these new sources and did not care about informing the community... probably just too see how it went (funzies).

 

... gremlins having fun

----------

## pste

 *Jaglover wrote:*   

> Just rebooted to 4.12.7, no issues here. You said lots of modules, any out-of kernel modules? You could skip the module loading and start loading them one by one to define the culprit.

 

Well, hand-loading modules one-by-one was precisely my first action point, which I didn't have time to do until yesterday, resulting in a smaller but still not trivial set of modules causing the freeze during boot.

However, discovering the release of a yet another kernel version made me stop the effort. And as it turns out, gentoo-sources-4.12.8 appears not having the issue, I'm writing this running the newest kernel with the same set of modules causing 4.12.{6,7} to freeze. Hence, I'll mark this issue [solved], despite neither knowing the cause nor the fix...

Thanks for trying to help!

/pste

----------

## pste

OK, as stated in EDIT in the original post, the issue isn't resolved.

Using interactive boot, stopping after starting udev (before starting udev-triggers) and manually load modules one by one, I've manage to isolate the problem to the xhci_pci module.

What happens is the following:

Kernel <= 4.12.5

If loading xhci_pci, module xhci_hcd loads as well. Udev runs some laptop_mode processes for a while, but settles down quite quickly. I can load all modules normally loaded by udev-triggers without any problem.

If loading xhci_pci when running kernel >4.12.5, system hangs immediately and fan starts spinning up (race condition?). I'm not able to see whether xhci_hcd and/or the laptop_mode things even get started...

If loading xhci_hcd first, then the xhci_pci module, the system doesn't hang immediately. However, the udev running of the laptop_mode things results in a larger number of processes than I've seen on <=4.12.5 and the system doesn't settle down. Eventually it hangs.

I've not been able to see any differences for other loading orders of modules. The problem occurs with only the xhci_pci (presumably also loading xhci_hcd) module.

Thankful for ideas of how to proceed. Currently I'm "stuck" at kernel 4.12.5

/pste

----------

## pste

For the interested...

As it seems, the issue was (probably) related to eudev in combination with some kind of kernel modification related to modules loading (or specifically to xhci...) introduced in 4.12.5, as was also indicated by the lock-up occurring after service udev-triggers started. What appears to have happened was some kind of race condition causing 100% CPU in one kworker thread that eventually (a couple of seconds) locked the entire system...

Today's --sync brought an update to eudev (3.2.4) and after this, my system starts properly with all kernels, currently 4.12.{5,6,7,8,9,10} as well as 4.13.0, also with udev-triggers service started according to normal rc startup routine.

That is, the issue is (hopefully) solved!

Regards,

/pste

----------

## HeXiLeD

 *pste wrote:*   

> For the interested...
> 
> As it seems, the issue was (probably) related to eudev in combination with some kind of kernel modification related to modules loading (or specifically to xhci...) introduced in 4.12.5...
> 
> /pste

 

Indeed someone of low integrity decided to change something without any regards for the rest of us.

Some typical reasons why:

- Don't care. They develop for themselves.

- No arch tests. They decide to use the regular users as arch tester (don't care)

- Introduce new feature because it is cool and make a name for themselves

etc etc 

Just tried sys-kernel/gentoo-sources-4.12.12 and even unmasked sys-fs/eudev-3.2.4

Still don't get the keyboard and mouse working. Bellow is my current usb support that works with 4.9.34-gentoo 

cat .config| grep USB

```
CONFIG_BT_HCIBTUSB=y

# CONFIG_BT_HCIBTUSB_BCM is not set

CONFIG_BT_HCIBTUSB_RTL=y

# CONFIG_BT_HCIBFUSB is not set

# CONFIG_USB_SWITCH_FSA9480 is not set

# CONFIG_USB_NET_DRIVERS is not set

# CONFIG_USB_NET_RNDIS_WLAN is not set

# CONFIG_MOUSE_SYNAPTICS_USB is not set

# CONFIG_I2C_TINY_USB is not set

# CONFIG_MFD_RTSX_USB is not set

CONFIG_MEDIA_USB_SUPPORT=y

CONFIG_USB_VIDEO_CLASS=y

CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

# CONFIG_USB_GSPCA is not set

# CONFIG_USB_PWC is not set

# CONFIG_USB_ZR364XX is not set

# CONFIG_USB_STKWEBCAM is not set

# CONFIG_USB_S2255 is not set

# CONFIG_VIDEO_USBTV is not set

# Webcam, TV (analog/digital) USB devices

CONFIG_SND_USB=y

CONFIG_SND_USB_AUDIO=y

# CONFIG_SND_USB_UA101 is not set

# CONFIG_SND_USB_USX2Y is not set

# CONFIG_SND_USB_CAIAQ is not set

# CONFIG_SND_USB_US122L is not set

# CONFIG_SND_USB_6FIRE is not set

# CONFIG_SND_USB_HIFACE is not set

# CONFIG_SND_USB_POD is not set

# CONFIG_SND_USB_PODHD is not set

# CONFIG_SND_USB_TONEPORT is not set

# CONFIG_SND_USB_VARIAX is not set

# USB HID support

CONFIG_USB_HID=y

CONFIG_USB_HIDDEV=y

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_SUPPORT=y

CONFIG_USB_COMMON=y

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB=y

CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

# Miscellaneous USB options

# CONFIG_USB_DEFAULT_PERSIST is not set

# CONFIG_USB_DYNAMIC_MINORS is not set

# CONFIG_USB_OTG_WHITELIST is not set

# CONFIG_USB_OTG_BLACKLIST_HUB is not set

# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set

CONFIG_USB_MON=y

# CONFIG_USB_WUSB_CBAF is not set

# USB Host Controller Drivers

# CONFIG_USB_C67X00_HCD is not set

CONFIG_USB_XHCI_HCD=y

CONFIG_USB_XHCI_PCI=y

# CONFIG_USB_XHCI_PLATFORM is not set

CONFIG_USB_EHCI_HCD=y

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

# CONFIG_USB_EHCI_TT_NEWSCHED is not set

CONFIG_USB_EHCI_PCI=y

CONFIG_USB_EHCI_HCD_PLATFORM=y

# CONFIG_USB_OXU210HP_HCD is not set

# CONFIG_USB_ISP116X_HCD is not set

# CONFIG_USB_ISP1362_HCD is not set

# CONFIG_USB_FOTG210_HCD is not set

CONFIG_USB_OHCI_HCD=y

# CONFIG_USB_OHCI_HCD_PCI is not set

# CONFIG_USB_OHCI_HCD_PLATFORM is not set

CONFIG_USB_UHCI_HCD=y

# CONFIG_USB_SL811_HCD is not set

# CONFIG_USB_R8A66597_HCD is not set

# CONFIG_USB_HCD_TEST_MODE is not set

# USB Device Class drivers

CONFIG_USB_ACM=y

CONFIG_USB_PRINTER=y

# CONFIG_USB_WDM is not set

# CONFIG_USB_TMC is not set

# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may

# also be needed; see USB_STORAGE Help for more info

CONFIG_USB_STORAGE=y

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_REALTEK is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_FREECOM is not set

# CONFIG_USB_STORAGE_ISD200 is not set

# CONFIG_USB_STORAGE_USBAT is not set

# CONFIG_USB_STORAGE_SDDR09 is not set

# CONFIG_USB_STORAGE_SDDR55 is not set

# CONFIG_USB_STORAGE_JUMPSHOT is not set

# CONFIG_USB_STORAGE_ALAUDA is not set

# CONFIG_USB_STORAGE_ONETOUCH is not set

# CONFIG_USB_STORAGE_KARMA is not set

# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set

# CONFIG_USB_STORAGE_ENE_UB6250 is not set

CONFIG_USB_UAS=y

# USB Imaging devices

# CONFIG_USB_MDC800 is not set

# CONFIG_USB_MICROTEK is not set

# CONFIG_USBIP_CORE is not set

# CONFIG_USB_MUSB_HDRC is not set

# CONFIG_USB_DWC3 is not set

# CONFIG_USB_DWC2 is not set

# CONFIG_USB_CHIPIDEA is not set

# CONFIG_USB_ISP1760 is not set

# USB port drivers

CONFIG_USB_SERIAL=y

CONFIG_USB_SERIAL_CONSOLE=y

CONFIG_USB_SERIAL_GENERIC=y

# CONFIG_USB_SERIAL_SIMPLE is not set

# CONFIG_USB_SERIAL_AIRCABLE is not set

# CONFIG_USB_SERIAL_ARK3116 is not set

# CONFIG_USB_SERIAL_BELKIN is not set

# CONFIG_USB_SERIAL_CH341 is not set

# CONFIG_USB_SERIAL_WHITEHEAT is not set

# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set

CONFIG_USB_SERIAL_CP210X=y

# CONFIG_USB_SERIAL_CYPRESS_M8 is not set

# CONFIG_USB_SERIAL_EMPEG is not set

CONFIG_USB_SERIAL_FTDI_SIO=y

# CONFIG_USB_SERIAL_VISOR is not set

# CONFIG_USB_SERIAL_IPAQ is not set

# CONFIG_USB_SERIAL_IR is not set

# CONFIG_USB_SERIAL_EDGEPORT is not set

# CONFIG_USB_SERIAL_EDGEPORT_TI is not set

# CONFIG_USB_SERIAL_F81232 is not set

# CONFIG_USB_SERIAL_GARMIN is not set

# CONFIG_USB_SERIAL_IPW is not set

# CONFIG_USB_SERIAL_IUU is not set

# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set

# CONFIG_USB_SERIAL_KEYSPAN is not set

# CONFIG_USB_SERIAL_KLSI is not set

# CONFIG_USB_SERIAL_KOBIL_SCT is not set

# CONFIG_USB_SERIAL_MCT_U232 is not set

# CONFIG_USB_SERIAL_METRO is not set

# CONFIG_USB_SERIAL_MOS7720 is not set

# CONFIG_USB_SERIAL_MOS7840 is not set

# CONFIG_USB_SERIAL_MXUPORT is not set

# CONFIG_USB_SERIAL_NAVMAN is not set

# CONFIG_USB_SERIAL_PL2303 is not set

# CONFIG_USB_SERIAL_OTI6858 is not set

# CONFIG_USB_SERIAL_QCAUX is not set

# CONFIG_USB_SERIAL_QUALCOMM is not set

# CONFIG_USB_SERIAL_SPCP8X5 is not set

# CONFIG_USB_SERIAL_SAFE is not set

# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set

# CONFIG_USB_SERIAL_SYMBOL is not set

# CONFIG_USB_SERIAL_TI is not set

# CONFIG_USB_SERIAL_CYBERJACK is not set

# CONFIG_USB_SERIAL_XIRCOM is not set

# CONFIG_USB_SERIAL_OPTION is not set

# CONFIG_USB_SERIAL_OMNINET is not set

# CONFIG_USB_SERIAL_OPTICON is not set

# CONFIG_USB_SERIAL_XSENS_MT is not set

# CONFIG_USB_SERIAL_WISHBONE is not set

# CONFIG_USB_SERIAL_SSU100 is not set

# CONFIG_USB_SERIAL_QT2 is not set

# CONFIG_USB_SERIAL_DEBUG is not set

# USB Miscellaneous drivers

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_ADUTUX is not set

# CONFIG_USB_SEVSEG is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_CYPRESS_CY7C63 is not set

# CONFIG_USB_CYTHERM is not set

# CONFIG_USB_IDMOUSE is not set

# CONFIG_USB_FTDI_ELAN is not set

# CONFIG_USB_APPLEDISPLAY is not set

# CONFIG_USB_SISUSBVGA is not set

# CONFIG_USB_LD is not set

# CONFIG_USB_TRANCEVIBRATOR is not set

# CONFIG_USB_IOWARRIOR is not set

# CONFIG_USB_TEST is not set

# CONFIG_USB_EHSET_TEST_FIXTURE is not set

# CONFIG_USB_ISIGHTFW is not set

# CONFIG_USB_YUREX is not set

# CONFIG_USB_EZUSB_FX2 is not set

# CONFIG_USB_HSIC_USB3503 is not set

# CONFIG_USB_HSIC_USB4604 is not set

# CONFIG_USB_LINK_LAYER_TEST is not set

# CONFIG_USB_CHAOSKEY is not set

# USB Physical Layer drivers

# CONFIG_USB_PHY is not set

# CONFIG_NOP_USB_XCEIV is not set

# CONFIG_USB_ISP1301 is not set

CONFIG_USB_GADGET=y

# CONFIG_USB_GADGET_DEBUG is not set

# CONFIG_USB_GADGET_DEBUG_FILES is not set

# CONFIG_USB_GADGET_DEBUG_FS is not set

CONFIG_USB_GADGET_VBUS_DRAW=2

CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2

# USB Peripheral Controller

# CONFIG_USB_FOTG210_UDC is not set

# CONFIG_USB_GR_UDC is not set

# CONFIG_USB_R8A66597 is not set

# CONFIG_USB_PXA27X is not set

# CONFIG_USB_MV_UDC is not set

# CONFIG_USB_MV_U3D is not set

# CONFIG_USB_M66592 is not set

# CONFIG_USB_BDC_UDC is not set

# CONFIG_USB_AMD5536UDC is not set

# CONFIG_USB_NET2272 is not set

# CONFIG_USB_NET2280 is not set

# CONFIG_USB_GOKU is not set

# CONFIG_USB_EG20T is not set

CONFIG_USB_DUMMY_HCD=y

CONFIG_USB_LIBCOMPOSITE=y

CONFIG_USB_F_ACM=y

CONFIG_USB_U_SERIAL=y

CONFIG_USB_F_SERIAL=y

CONFIG_USB_F_OBEX=y

# CONFIG_USB_CONFIGFS is not set

# CONFIG_USB_ZERO is not set

# CONFIG_USB_AUDIO is not set

# CONFIG_USB_ETH is not set

# CONFIG_USB_G_NCM is not set

# CONFIG_USB_GADGETFS is not set

# CONFIG_USB_FUNCTIONFS is not set

# CONFIG_USB_MASS_STORAGE is not set

CONFIG_USB_G_SERIAL=y

# CONFIG_USB_MIDI_GADGET is not set

# CONFIG_USB_G_PRINTER is not set

# CONFIG_USB_CDC_COMPOSITE is not set

# CONFIG_USB_G_ACM_MS is not set

# CONFIG_USB_G_MULTI is not set

# CONFIG_USB_G_HID is not set

# CONFIG_USB_G_DBGP is not set

# CONFIG_USB_G_WEBCAM is not set

# CONFIG_USB_LED_TRIG is not set

# CONFIG_USB_ULPI_BUS is not set

# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)

# CONFIG_PHY_PXA_28NM_USB2 is not set

# CONFIG_BCM_KONA_USB2_PHY is not set
```

----------

## pste

 *pste wrote:*   

> For the interested...
> 
> As it seems, the issue was (probably) related to eudev in combination with some kind of kernel modification related to modules loading (or specifically to xhci...) introduced in 4.12.5, as was also indicated by the lock-up occurring after service udev-triggers started. What appears to have happened was some kind of race condition causing 100% CPU in one kworker thread that eventually (a couple of seconds) locked the entire system...
> 
> Today's --sync brought an update to eudev (3.2.4) and after this, my system starts properly with all kernels, currently 4.12.{5,6,7,8,9,10} as well as 4.13.0, also with udev-triggers service started according to normal rc startup routine.
> ...

 

Sorry to be a drag, but this is NOT solved after all (topic subject changed AGAIN...)

And sorry for not reporting at once!

Sometimes, I haven't been able to identify exactly under what circumstances, the system boots OK, which clearly was the case when I wrote the above. Although, at least once after the system seemingly had booted OK, the kworker 100% thread showed up after a while, locking the system completely after a couple of seconds. But most of the time, the system hangs directly during boot after the udev-trigger service is started. Also, if I enter to console during interactive boot, skip the udev-trigger service and manually load xhci_{hcd,pci} modules, the 100% kworker process shows up making the system hang. Removing xhci_pci (removing CONFIG_USB_PCI - believing I do not need it...), or compiling these in kernel and not as modules, makes no difference.

For me, this unusable behavior is the case for all kernels > 4.12.5, I have at the moment tried all versions up to 4.13.8, will try 4.13.9 later today...

/pste

----------

## HeXiLeD

Problem still remains for me with linux-4.14.2-gentoo.

I was able to upgrade to linux-4.9.65-gentoo and that's about it.

Something changed from 4.9.* to 4.10 and above

Any progress for your side pste ?

----------

## krinn

HeXiLeD you don't help yourself.

First because "it doesn't work" is not helping anyone: does the keyboar lights works? Does it work in console but not in X?...

But let's just assume indeed the keyboard is not working at all, meaning its handling fail.

Look how ironic it is:

 *HeXiLeD wrote:*   

> 
> 
> ```
> CONFIG_USB_EHCI_HCD=y
> 
> ...

 

 *HeXiLeD wrote:*   

> cat linux-4.12.8-gentoo/.config| grep CONFIG_HID_MICROSOFT (see this)

 

Well, ok, let's see there so...

[quote=pwaller@https://forums.gentoo.org/viewtopic-p-7354130.html#7354130]

With thanks to NeddySeagoon on freenode #gentoo, this was fixed by setting CONFIG_USB_EHCI_ROOT_HUB_TT, CONFIG_USB_EHCI_TT_NEWSCHED and CONFIG_HID_MICROSOFT in my kernel configuration[/quote]

So tell us: if we hint you to enable them like it is said in the thread you gave us and it work, what shall be your punishment?

----------

## HeXiLeD

@krinn 

you are making a fool out of yourself just for personal attacks.

Your answer has nothing to do with the topic description and my problem or pste problem 

 *krinn wrote:*   

> HeXiLeD you don't help yourself.
> 
> First because "it doesn't work" is not helping anyone: does the keyboar lights works? Does it work in console but not in X?...
> 
> But let's just assume indeed the keyboard is not working at all, meaning its handling fail.
> ...

 

 *krinn wrote:*   

> So tell us: if we hint you to enable them like it is said in the thread you gave us and it work, what shall be your punishment?

 

I do not have a problem with the Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0

That was solved a long time ago in the topic you mentioned and  and I even replied to it a long time ago

I have a problem with ANY USB  keyboard and ANY USB mouse connected to my box with ANY kernel 4.10 or above and I tried every kernel above 4.9.65

For the record with linux-4.9.65-gentoo where everything is working without your refereed solution.

```

linux-4.14.2-gentoo # cat .config| grep CONFIG_USB_EHCI_ROOT_HUB_TT

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

linux-4.9.65-gentoo #  cat .config |grep CONFIG_USB_EHCI_TT_NEWSCHED

# CONFIG_USB_EHCI_TT_NEWSCHED is not set
```

ALL my keyboards and mice FULLY work with linux-4.9.65-gentoo and the system does not LOCK

Enabling those options in the kernel makes no change and does not solve the problems mentioned by me or pste

Your solution posted and refereed does not solve the problem we are having and was nothing else than a direct personal attack.

So, you mr krinn, not only you should read the topic to stay on topic and follow forum rules as well as you can answer yourself about what should your punishment be.

Indeed very ironic!

----------

## krinn

 *HeXiLeD wrote:*   

> So, you mr krinn, not only should read the topic to stay on topic and follow forum rules as well as you can answer yourself about what should your punishment be.

 

I don't need to think myself about my punishment, it's something mods might have to take care if i did attack you.

And yes i was off topic because i've try answering your problem that is not about a lock up, but keyboard not working.

What can i say, good luck with your keyboard problem  :Smile: 

----------

## pste

 *HeXiLeD wrote:*   

> Problem still remains for me with linux-4.14.2-gentoo.
> 
> I was able to upgrade to linux-4.9.65-gentoo and that's about it.
> 
> Something changed from 4.9.* to 4.10 and above
> ...

 

As a matter of fact, yesterday! I found the culprit, at least to the extent that I've identified the very kernel patch that started the problem for me. However, there is presumably something more lurking beneath all this (that appears to have something to do with acpi and power management)...

What I did yesterday was to finally invest the time and walk through a kernel bisect between 4.12.5 and 4.12.6 as suggested by toralf in post #3, ending with a patch labeled "block: disable runtime-pm for blk-mq", which adds (effectively) one single line of code. Removing that one stops the boot freeze on my comp.

So, the following kernel [patch-inhibiting] patch works for me, as you can see also on the latest gentoo kernel. That is, I'll (once again) mark this issue as solved!

@HeXiLeD, just out of curiosity, do you have an ASUS laptop as me (mine is a TP300LA, core-i7)? I ask because searching the net has given me the impression this problem is related to this brand (and acpi)... For me, booting sometimes worked, but never if the system had switched from mains to battery (at least once?) And, I understand your problem must be somewhat different as you've hit the wall at 4.10 and I at 4.12.5...

/pste

```
diff -uprN linux-4.14.2-gentoo/block/blk-core.c linux-4.14.2-gentoo-fix/block/blk-core.c

--- linux-4.14.2-gentoo/block/blk-core.c   2017-11-12 19:46:13.000000000 +0100

+++ linux-4.14.2-gentoo-fix/block/blk-core.c   2017-11-29 13:59:46.802018209 +0100

@@ -3438,10 +3438,6 @@ EXPORT_SYMBOL(blk_finish_plug);

  */

 void blk_pm_runtime_init(struct request_queue *q, struct device *dev)

 {

-   /* not support for RQF_PM and ->rpm_status in blk-mq yet */

-   if (q->mq_ops)

-      return;

-

    q->dev = dev;

    q->rpm_status = RPM_ACTIVE;

    pm_runtime_set_autosuspend_delay(q->dev, -1);

```

----------

## HeXiLeD

@pste

Happy to see your progress and while I initially thought my problem was related to yours, I just found out it was not.

I also do not have the same hardware as you.

My problem was impleer and was just also solved. I leave here the info which can help other people.

I decided to play with with other kernels today and overall I found out over remote ssh that my problem is not just usb mice and keyboards but in fact nearly all usb support.

From the 22 supported usb hardware equipment I had working with kernels bellow 4.10, only 2 remained active and or supported with kernels 4.10 or above.

This was the only thing that remained working:

```

Bus 001 Device 002: ID 0525:a4a7 Netchip Technology, Inc. Linux-USB Serial Gadget (CDC ACM mode)

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

```

The kernel config file was the same for kernels bellow and above 4.10. I also compared the configs and found initially little to no difference at all or even relevant to the usb problem, except for one detail which was found later.

Kernels  4.10 or above seem to completely ignore all my usb configurations used bellow 4.10.

Something changed somewhere. Maybe even just name on the menu or something was changed. While doing some checking:

```
# lspci | grep USB

00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4

00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5

00:1a.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6

00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2

00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1

00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2

00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3

00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
```

It seems that, UHCI got lost on kernel 4.10 and above after make oldconfig.

```
# cat linux-4.14.2-gentoo/.config|grep UHCI

(nothing)

# cat linux-4.9.65-gentoo/.config|grep UHCI

CONFIG_USB_UHCI_HCD=y
```

I went look in the kernels for this support and found out that is not configured in 4.10 and above. In fact is not even in any menu option.

```
USB_UHCI_HCD

USB_UHCI_PLATFORM

USB_UHCI_SUPPORT_NON_PCI_HC
```

When using menuconfig to locate UHCI options, I could also see that they are all set as [n] while USB support (USB_SUPPORT [=y])

Closer look pointed me to needed dependencies. Jaglover did mention this support but this support alone does not do it as the needed support was under submenus.

```
[ ]   PCI based USB host interface
```

Enabling USB_PCI brought the menu following menu options which I did not see previously.

```
< >   UHCI HCD (most Intel and VIA) support (NEW)
```

NEW ? no it is old. It was just under a different option and some magician decided to change it's kernel tree location and make it dependent on other support that was not needed or was there before.

This is not the only issue I had and there is others to solve and they all related to devs changing kernel options, names and set them under new options that depend on stuff not existent before.

Anyway, problem is solved for me.

Thanks for your time @pste & @jaglover

----------

