Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 24 апр 2019, 06:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 16:34 
Не в сети
Писатель

Зарегистрирован: 23 июл 2017, 12:46
Сообщения: 33
Olej писал(а):
seregin писал(а):
с модулями решил!

Каким образом решил?
Как решил?

подключил пару библиотек
исправил на module_init в конце
и добавил в инициализацию модуля скобочку и return 0


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 16:38 
Не в сети
Писатель

Зарегистрирован: 23 июл 2017, 12:46
Сообщения: 33
может приведение типов? но чет не получается


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 17:14 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
seregin писал(а):
Olej писал(а):
seregin писал(а):
с модулями решил!

Каким образом решил?
Как решил?

подключил пару библиотек

Модули ядра (как и ядро вообще) в принципе не могут использовать библиотек. Никаких.
Может заголовочных файлов в #include ... ?
Каких?

P.S. Вы можете в обсуждениях кода не рассказывать "на пальцах", а показывать код (или строки кода) цитированием (копированием)?

seregin писал(а):
исправил на module_init в конце
и добавил в инициализацию модуля скобочку и return 0

А это - показатель говённости того кода! :evil:


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 17:23 
Не в сети
Писатель

Зарегистрирован: 23 июл 2017, 12:46
Сообщения: 33
да, заголовочных файлов) init.h. module.h

Убрал ту часть кода на что он ругался, загрузил модуль, выдало сообщение ошибка сегментации
А вот dmesg


Вложения:
!!!.png
!!!.png [ 142.15 КБ | Просмотров: 566 ]
Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 17:50 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
seregin писал(а):
да, заголовочных файлов) init.h. module.h

Это вовсе не обязательно.
Строка с module.h там изначально есть:
Код:
#include <linux/module.h>

А init.h не нужно, на него ссылка из других *.h уже есть.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 18:25 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
seregin писал(а):
Убрал ту часть кода на что он ругался, загрузил модуль, выдало сообщение ошибка сегментации

"та часть кода на что он ругался" ;-) - это:
Код:
    if(((urbp->dev % 0x400) == 0) &&

В той китайской публикации которую вы показывали (чтобы не лазить в заголовки ядра):
seregin писал(а):
Вот еще статья, пункт 0x4: Locating the Keyboard Buffer
http://www.cnblogs.com/LittleHann/p/4493425.html

Там найдёте:
Код:
struct urb {
...
   struct usb_device *dev;     // (in) pointer to associated device
...   
}

Т.е. они сдуру ;-) выполняют арифметику над указателем.
Вот так будет компилироваться:
Код:
...
#define x(y) ((void *)((uint64_t)(y)+PAGE_OFFSET))
...
      struct urb *urbp = (struct urb *)x(i);
      if( ( ( (uint64_t)urbp->dev % 0x400 ) == 0 ) &&
...

А почему оно слетает по SIGSEGV?
А это вы спрашивайте у тех умников, которые это писали :lol:


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 18:42 
Не в сети
Писатель

Зарегистрирован: 23 июл 2017, 12:46
Сообщения: 33
да, компилируется) у вас находит адрес?


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 20:29 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
seregin писал(а):
да, компилируется) у вас находит адрес?

Да не может оно ничего находить, потому что там написаны выдумки, которые никто не проверял ... даже не компилировалось.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 24 июл 2017, 22:04 
Не в сети
Писатель

Зарегистрирован: 23 июл 2017, 12:46
Сообщения: 33
понял) скажите gпожалуйста, а как получить полный дамп /dev/mem? без пересборок ядра
У меня выдает до определенного адреса и пишет потом segmentation fault


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: Клавиатурный буфер
Непрочитанное сообщениеДобавлено: 25 июл 2017, 01:12 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
В той китайской публикации которую вы показывали

Там есть ещё одно интересное место:
Цитата:
For a USB keyboard device, in particular, the keyboard buffer is part of the URB structure, in the field transfer_buffer. Unfortunately, the memory offset where the URB structure is placed is different every time the system restarts.

1). это относится только к USB клавиатуре
2). расположение клавиатурного буфера меняется от разу к разу при перезагрузке.

А по поводу кода (модуля) сказано в тексте:
Цитата:
The pseudocode for scanning the low memory addresses of a 32-bit x86 system is shown in Figure 3.

Это очень важно, что этот код создавался для 32 бит системы.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.234s | 17 Queries | GZIP : On ]