Если это один из стандартных кодов ошибок ядра , которые по соглашению являются отрицательными, -75
означаетEOVERFLOW
("Слишком большое значение для определенного типа данных" ).
Это похоже на ошибку (возможно, кто-то где-то использовал целочисленный тип, в котором недостаточно битов для хранения значения ), поэтому отправьте отчет об ошибке в средство отслеживания отладки ядра. Добавьте достаточно информации, чтобы воспроизвести проблему, т. е. точный идентификатор поставщика/устройства, указанный в lsusb
, полный вывод dmesg
со всей информацией, полученной после подключения устройства, при каких обстоятельствах появляется сообщение и т. д.
Если вы знаете, как это сделать, перекомпилируйте ядро и включите отладку по USB, чтобы можно было определить источник ошибки. В противном случае, вероятно, потребуется слишком много догадок, чтобы найти его.
Я не уверен, что это ограничение явно задокументировано в документации, -ориентированной на пользователя, но оно встроено в ядро. Описание дляfbcon_set_font
гласит:
/*
* User asked to set font; we are guaranteed that
* a) width and height are in range 1..32
* b) charcount does not exceed 512
* but lets not assume that, since someone might someday want to use larger
* fonts. And charcount of 512 is small for unicode support.
*
* However, user space gives the font in 32 rows, regardless of
* actual font height. So a new API is needed if support for larger fonts
* is ever implemented.
*/
иfbcon_get_font
обрабатывают символы за 32 -строковых шагов:
if (font->width <= 8) {
j = vc->vc_font.height;
for (i = 0; i < font->charcount; i++) {
memcpy(data, fontdata, j);
memset(data + j, 0, 32 - j);
data += 32;
fontdata += j;
}
(с аналогичной обработкой для шрифтов шире 8 пикселей ).