Ник:
Пароль:

Контакты

Cтатус Skype: starterkit.ru
тел.: (+7 3412) 478-448
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
E-mail: info@starterkit.ru
Google+
Партнеры:
otladka.com.ua - г.Киев
tixer.ru - г.Москва

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Realtek 8152 + imx6s-oem + Boundary Debian 9
SmartRogue
Добавлено 31.01.2019 17:04
0
Сообщение: 1
SmartRogue
0

Пункты: 1110
Регистрация: 27.11.2017
Здравствуйте.
Я в очередной раз туплю.

В наличии:
Внешнее композитное usb устройство (usb-хаб + сетевая карта на базе r8152) TP-LINK UE330 (драйвер).
SK-iMX6S-OEM-Ind
SK-iMX6S/53/50-MB
buildroot-2017.08 на базе ядра 4.1.15-2.1.0 для i.mx6 от sasamy (тык).
Дебиан 9.3, модифицированный sasamy (тык).

Что сделал:
1. Cкачал драйвер.
2. Выполнил make - получил:
Код
debian@imx6board:~/r8152-2.11.0$ make
make -C /lib/modules/4.1.15/build SUBDIRS=/home/debian/r8152-2.11.0 modules
make[1]: *** /lib/modules/4.1.15/build: No such file or directory. Stop.
Makefile:19: recipe for target 'modules' failed
make: *** [modules] Error 2

3. В Makefile нашёл строчку
Код
KERNELDIR ?= /lib/modules/$(shell uname -r)/build

и заменил на
Код
KERNELDIR ?= /lib/modules/4.1.15-25-boundary-12s/build

4. Повторно запустил make
Код
debian@imx6board:~/r8152-2.11.0$ make
make -C /lib/modules/4.1.15-25-boundary-12s/build SUBDIRS=/home/debian/r8152-2.11.0 modules
make[1]: Entering directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
CC [M] /home/debian/r8152-2.11.0/r8152.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/debian/r8152-2.11.0/r8152.mod.o
LD [M] /home/debian/r8152-2.11.0/r8152.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'

5. Запустил make install
Код
debian@imx6board:~/r8152-2.11.0$ sudo make install
[sudo] password for debian:
make -C /lib/modules/4.1.15-25-boundary-12s/build SUBDIRS=/home/debian/r8152-2.11.0 INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
INSTALL /home/debian/r8152-2.11.0/r8152.ko
DEPMOD 4.1.15-25-boundary-12s
make[1]: Leaving directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'
modprobe r8152
modprobe: FATAL: Module r8152 not found in directory /lib/modules/4.1.15
Makefile:36: recipe for target 'install' failed
make: *** [install] Error 1


Вижу, что modprobe тоже ищет не там, где надо (в папку /lib/modules/4.1.15-25-boundary-12s/kernel/drivers/net/usb всё успешно установилось).

Вопросы:
0. Мама, в кого я таким дурачком уродился?
1. Что дальше-то? Мне нужна эта приблуда (UE330) как вторая сетевая карта. В стандартном пакете firmware-realtek поддержка r8152 не упоминается...
2. Почему вообще две версии ядра и как с этим жить?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 01.02.2019 02:29 Сообщение: 2
sasamy
4.84

Пункты: 52665
Регистрация: 14.08.2009
Цитата

make[1]: *** /lib/modules/4.1.15/build: No such file or directory. Stop.
....
В Makefile нашёл строчку
Код
KERNELDIR ?= /lib/modules/$(shell uname -r)/build

и заменил на
Код
KERNELDIR ?= /lib/modules/4.1.15-25-boundary-12s/build


не надо было тут исправлять а просто создать симлинк на эту директорию

sudo ln -s /lib/modules/4.1.15-25-boundary-12s/build /lib/modules/4.1.15/build
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 01.02.2019 16:43 Сообщение: 3
SmartRogue
0

Пункты: 1110
Регистрация: 27.11.2017
Цитата

не надо было тут исправлять а просто создать симлинк на эту директорию

sudo ln -s /lib/modules/4.1.15-25-boundary-12s/build /lib/modules/4.1.15/build


Не помогло

Код
debian@imx6board:~/irz/r8152-2.11.0$ make
make -C /lib/modules/4.1.15/build SUBDIRS=/home/debian/irz/r8152-2.11.0 modules
make[1]: Entering directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
CC [M] /home/debian/irz/r8152-2.11.0/r8152.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/debian/irz/r8152-2.11.0/r8152.mod.o
LD [M] /home/debian/irz/r8152-2.11.0/r8152.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'
debian@imx6board:~/irz/r8152-2.11.0$ sudo make install_rules
install --group=root --owner=root --mode=0644 50-usb-realtek-net.rules /etc/udev/rules.d/
debian@imx6board:~/irz/r8152-2.11.0$ sudo make install
make -C /lib/modules/4.1.15/build SUBDIRS=/home/debian/irz/r8152-2.11.0 INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
INSTALL /home/debian/irz/r8152-2.11.0/r8152.ko
DEPMOD 4.1.15-25-boundary-12s
make[1]: Leaving directory '/usr/src/linux-headers-4.1.15-25-boundary-12s'
modprobe r8152
modprobe: FATAL: Module r8152 not found in directory /lib/modules/4.1.15
Makefile:36: recipe for target 'install' failed
make: *** [install] Error 1


На всякий случай Makefile
Код
ifneq ($(KERNELRELEASE),)
obj-m := r8152.o
# EXTRA_CFLAGS += -DRTL8152_S5_WOL
# EXTRA_CFLAGS += -DRTL8152_DEBUG
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
TARGET_PATH := kernel/drivers/net/usb
INBOXDRIVER := $(shell find $(subst build,$(TARGET_PATH),$(KERNELDIR)) -name r8152.ko.* -type f)
RULEFILE = 50-usb-realtek-net.rules
RULEDIR = /etc/udev/rules.d/

.PHONY: modules
modules:
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) modules

.PHONY: all
all: clean modules install

.PHONY: clean
clean:
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) clean

.PHONY: install
install:
ifneq ($(shell lsmod | grep r8152),)
rmmod r8152
endif
ifneq ($(INBOXDRIVER),)
rm -f $(INBOXDRIVER)
endif
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) INSTALL_MOD_DIR=$(TARGET_PATH) modules_install
modprobe r8152

.PHONY: install_rules
install_rules:
install --group=root --owner=root --mode=0644 $(RULEFILE) $(RULEDIR)

endif
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 01.02.2019 17:47 Редактировалось 01.02.2019 17:49 Сообщение: 4
sasamy
4.84

Пункты: 52665
Регистрация: 14.08.2009
Цитата

Не помогло


вручную скопируйте на место и выполните

sudo depmod -a
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 15.02.2019 11:10 Сообщение: 5
SmartRogue
0

Пункты: 1110
Регистрация: 27.11.2017
Цитата

вручную скопируйте на место и выполните

sudo depmod -a


Ох, долго же я болел... Вернулся к этой задаче, вновь фейл.
Эта команда выполняется, но при попытке выполнить
Код
sudo modprobe r8152

опять несварение
Код
modprobe: ERROR: could not insert 'r8152': Exec format error


Это уже драйвер кривой, или (как всегда) я где-то косячу?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.02.2019 13:26 Сообщение: 6
sasamy
4.84

Пункты: 52665
Регистрация: 14.08.2009
Цитата

Это уже драйвер кривой, или (как всегда) я где-то косячу?


просто я не расчитывал что кому-то понадобится собирать модули ядра на самой плате. Cкопируйте два файла

.config

Module.symvers

из директории с исходниками cобранного ядра buildroot

buildroot-xxx/output/build/linux-custom

в директорию дебиана

/usr/src/linux-headers-4.1.15-25-boundary-12s

и пересоберите модуль
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 15.02.2019 13:45 Сообщение: 7
SmartRogue
0

Пункты: 1110
Регистрация: 27.11.2017
Цитата
и пересоберите модуль


Увы и ах:
Код
modprobe: ERROR: could not insert 'r8152': Unknown symbol in module, or unknown parameter (see dmesg)

[10503.445060] r8152: Unknown symbol __stack_chk_guard (err 0)
[10503.449449] r8152: Unknown symbol __stack_chk_fail (err 0)
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux