High load average fix

The load on my Cubieboard was constantly above 1.0, which is way too much for a single core device, so I started searching for a solution. After looking in top, I saw that usb-hardware-sc was probably the problem, because it was in D state (TASK_UNINTERRUPTIBLE).
I tried to kill it with signal 9 but of course that wouldn’t work. When searching for usb-hardware-sc I saw that there were some other people who noticed this, but they didn’t have a solution.

At this point I contacted rm because I thought it may be a problem with his kernel. He told me it may be a problem with script.bin, which controls the hardware configuration. Unfortunately I don’t have Android’s script.bin anymore, so I continued my search before extracting it from the Android image.

Eventually I found a solution. It is pretty simple and it works! I just downloaded a clean script.bin from Cubieboard’s hwpack, converted it to script.fex (./bin2fex script.bin script.fex) opened it with vi, searched for [usbc0] and replaced the whole block by the following:

usb_used = 1
usb_port_type = 0
usb_detect_type = 0
usb_id_gpio =
usb_det_vbus_gpio =
usb_drv_vbus_gpio = port:PB09<1><0><default><0>
usb_host_init_state = 0

Then I just converted it back (./fex2bin script.fex script.bin), copied it to the boot partition (cp script.bin /boot) and rebooted my Cubieboard. Now everything runs fine with a nice low load!

Leave a Reply

Your email address will not be published. Required fields are marked *