Для Linux файловая система, смонтированная на хосте, является чужой машиной, поэтому она не имеет никакого контроля над разрешениями файлов в этой системе. Этот контроль принадлежит хосту. Поэтому вам нужно настроить права доступа к той части диска, которой вы можете управлять.
Я связываю свой виртуальный ящик с подкаталогом моей папки «Документы». Таким образом, я могу открыть разрешения, не беспокоясь о повреждении файлов ОС хост-системы.
Мне удалось воспроизвести те же симптомы. (Гигабитный сетевой адаптер UGREEN AX88179 останавливает прием/передачу любых пакетов, и, в конце концов, свет гаснет, ip link
команд недостаточно, чтобы все снова заработало ). Однако Мне удалось успешно перезагрузить адаптер из программного обеспечения с помощью системного вызова USBDEVFS _RESET ioctl ().
Чтобы отправить системный вызов ioctl (), вы можете использовать usbreset.c
изhttps://marc.info/?l=linux-usb&m=121459435621262&w=2или инструмент линии ioctl
команды -изhttps://github.com/jerome-pouiller/ioctl. Вот как использовать последний:
% lsusb |grep AX88179
Bus 002 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
% sudo /usr/local/bin/ioctl /dev/bus/usb/002/002 USBDEVFS_RESET
Decoded values: ioctl=0x00005514, direction=NONE, arg size=0 bytes, device number=0x55 ('U'), function number=20
Used values: ioctl=0x00005514, direction=NONE, arg size=0 bytes, device number=0x55 ('U'), function number=20
Returned 0
Команда lsusb
предназначена для определения идентификаторов шины и устройства (002 и 002 ), которые определяют файл для отправки ioctl(/dev/bus/usb/002/002
). Вам нужно использовать файловую систему /dev/bus/usb
, материал из /sys/bus/usb
здесь не поможет.
У меня это работает на Debian Buster arm64, ядро 5.10.17 -v8+.