LINUX.ORG.RU

Сообщения steemandlinux

 

Питон полюбил ржавого и родили NULL pointer deference.

 ,

steemandlinux
()

Привязать раскладку к устройству.

Под иксами или в вейланде есть возможность привязать раскладку клавиатуры к устройству, чтобы при вводе с него был всегда английский язык?

 

steemandlinux
()

Git restore и git stash не убирают Changes not staged for commit:

Не могу убрать сообщение про сабрепозиторий:

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
	modified:   modules/dclua/configs (modified content, untracked content)

Пробовал restore, stash, commit. Бесполезно :(

Из-за чего не могу выполнить stash apply.

 

steemandlinux
()

Робот пылесос без майора с зонтом.

Потыкал тут три приложения: mi, roborock и dreame. Все требуют соединение с интернетом и регистрацию. Зная количество датчиков на роботах пылесосах, задумался, бывают ли пылесосы без товарищей из компартии или АНБ?

Гипотетическую ситуацию ESP32 на пылесосе + роутер ZTE/HUAWEI у соседей не учитываем.

 

steemandlinux
()

Чем грозит использование asyncio.Queue.put_nowait в синхронном коде?

Есть такой оверрайд для подсистемы логов:

    def emit(self, record):
        """Overwrite emit method to publish logs to MQTT."""
        msg = self.format(record)
        try:
            self.logs_bridge_queue.put_nowait(msg)
        except asyncio.QueueFull:
            self.logs_bridge_queue.get_nowait()
            self.logs_bridge_queue.put_nowait(msg)

C другой стороны приёмник:

        while True:
            msg = await self.logs_bridge_queue.get()

В документации написано:

Although asyncio queues are not thread-safe, they are designed to be used specifically in async/await code.

Я не могу понять, что они имеют в виду под thread-safe. Все функции вне асинхронного контекста или только threading?

И чем может грозить использование asyncio.Queue вне асинхронного контекста?

 ,

steemandlinux
()

Софт для кассового оборудования в баре под Linux в РФ

Подскажите, а существует адекватное ПО, которое работает под линуксом, для российского рынка, для кассы общепита?

Ну или хотя бы Android.

 

steemandlinux
()

Забрать hid устройство у системы, сохранив к нему доступ через hidapi

Есть устройство, как запретить иксы обращаться к нему, сохранив доступ к нему через hipapi.

Я пробовал:

echo "0003:0EB8:EA00.0049" | sudo tee /sys/bus/hid/drivers/hid-generic/unbind

и

SUBSYSTEM=="usb", DRIVER=="usbhid", ATTRS{idVendor}=="0eb8", ATTRS{idProduct}=="ea00", ATTR{authorized}="0"

В обоих случаях терял доступ через hidapi.

[680907.803898] usb 3-1.2: new high-speed USB device number 86 using xhci_hcd
[680907.895167] usb 3-1.2: New USB device found, idVendor=0eb8, idProduct=ea00, bcdDevice= 1.00
[680907.895171] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[680907.895174] usb 3-1.2: Product: SevenCompact pH/Ion S220
[680907.895176] usb 3-1.2: Manufacturer: METTLER TOLEDO
[680907.895177] usb 3-1.2: SerialNumber: XXXXXX
[680907.898125] input: METTLER TOLEDO SevenCompact pH/Ion S220 as /devices/pci0000:00/0000:00:01.3/0000:02:00.2/0000:03:00.0/0000:04:00.0/usb3/3-1/3-1.2/3-1.2:1
==> /sys/bus/hid/drivers/hid-generic/0003:0EB8:EA00.0049/input/input81/name <==
METTLER TOLEDO SevenCompact pH/Ion S220
Bus 003 Device 086: ID 0eb8:ea00 Mettler Toledo SevenCompact pH/Ion S220
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0eb8 Mettler Toledo
  idProduct          0xea00 
  bcdDevice            1.00
  iManufacturer           1 METTLER TOLEDO
  iProduct                2 SevenCompact pH/Ion S220
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0029
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 Full Speed Configuration
    bmAttributes         0x80
      (Self Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              5 HID Interface
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      63
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               4
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Self Powered)

 

steemandlinux
()

Нужен ли flash для заливки кода в ESP32-S2?

Вот интересно, скачал я ESP-IDF SDK. Собрал образец, который в конце мне выдал сообщение:

esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32  write_flash --flash_mode dio --flash_size 2MB --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/oneshot_read.bin

А для чего ему параметры?

--flash_size 2MB --flash_freq 40m

Неужели оно исполнение на месте не поддерживает как те же stm32?

 

steemandlinux
()

Кто знаком с simcom A7682E или 868E?

Кто-нибудь знаком с китайскими модемами SIM A7682E и SIM 868E?

Вопрос, как они видятся при подключении через USB интерфейс? Можно ли через него слать AT команды или придется дополнительно UART подключать?

 

steemandlinux
()

PCB prototype + production + assembly в 2023

Где в 2023 году можно заказать PCB платы, закупку и монтаж деталей на них? Раньше под ключ работал pcbway, но сейчас они всё.

Интересуют прототипы 10 штук + 10000 производство.

Платы от 1 до 6 слоев.

 

steemandlinux
()

Подскажите, а modbus может определять наличие и отсутствие напряжения в линии?

Есть обычный сигнализатор, который имеет постоянно 12 вольт на линии, питание сигнализатора внешнее.

Может ли modbus контроллер определить, приходит ли питание на него или нет?

Линукс тут притом, что на компьютере, который считывает состояние стоит малиновый дебиан.

 

steemandlinux
()

Получить tax residency без миллионов и пол года ожидания

В какой стране можно сделать без большой сложности tax residency/id? В данный момент нашел Уругвай, Парагвай, Nomad Visa в Бразилии (не катит платежи зарубежом работают хуже чем у union pay). У остальных требования или 183 дня ожидания, или большие вложения в «бизнес».

Я тупанул, кроме tax id еще требуется residency address.

Всё я понял, мне нужен не personal tax id, а корпоративный.

 

steemandlinux
()

Как записать в sysfs из ядра?

Манулов как вызывать sysfs колбеки целая куча в интернетах.

Но вот как писать в sysfs из ядра абсолютная тишина.

Кто-нибудь может объяснить как это делается? Есть тестовый файл: /sys/kernel/myclass/myfile.

Присылаю приветы из userspace, все нормально работает. Но как это работает в обратную сторону, совершенно непонятно.

Использовал вот этих манулов:

https://embetronicx.com/tutorials/linux/device-drivers/sysfs-in-linux-kernel/

https://github.com/Johannes4Linux/Linux_Driver_Tutorial/blob/main/19_sysfs/sysfs_test.c

 

steemandlinux
()

Как актировать DDEBUG в модуле ядра?

Есть такая dwc2/Makefile инструкция:

# SPDX-License-Identifier: GPL-2.0
ccflags-$(CONFIG_USB_DWC2_DEBUG)        += -DDEBUG
ccflags-$(CONFIG_USB_DWC2_VERBOSE)      += -DVERBOSE_DEBUG

obj-$(CONFIG_USB_DWC2)                  += dwc2.o
dwc2-y                                  := core.o core_intr.o platform.o drd.o
dwc2-y                                  += params.o

ifneq ($(filter y,$(CONFIG_USB_DWC2_HOST) $(CONFIG_USB_DWC2_DUAL_ROLE)),)
        dwc2-y                          += hcd.o hcd_intr.o
        dwc2-y                          += hcd_queue.o hcd_ddma.o
endif

ifneq ($(filter y,$(CONFIG_USB_DWC2_PERIPHERAL) $(CONFIG_USB_DWC2_DUAL_ROLE)),)
        dwc2-y                          += gadget.o
endif

ifneq ($(CONFIG_DEBUG_FS),)
        dwc2-y                          += debugfs.o
endif

# NOTE: The previous s3c-hsotg peripheral mode only driver has been moved to
# this location and renamed gadget.c. When building for dynamically linked
# modules, dwc2.ko will get built for host mode, peripheral mode, and dual-role
# mode. The PCI bus interface module will called dwc2_pci.ko and the platform
# interface module will be called dwc2_platform.ko.

obj-$(CONFIG_USB_DWC2_PCI)              += dwc2_pci.o
dwc2_pci-y                              := pci.o

Вроде как в начале есть DDEBUG, но не похоже что он активирован. Как с дебаг принтами собрать модуль?

А линукс тут притом, что линукс это тоже линукс.

 ,

steemandlinux
()

Как отключить WPA3 probing и кто виноват в косяке?

Есть ноутбук с карточкой BCM43142 802.11b/g/n, она нормально работает с wl и b43 драйверами, но есть одно но, когда на роутере активен wpa2/3 mixed, она выдаёт:

[ 1868.647452] ERROR @wl_set_key_mgmt : 
[ 1868.647458] invalid cipher group (1027076)

В NM нельзя убрать WPA3, iwctl выдаёт ту же самую ошибку. Кто виноват в том, что вафля пытается делать то, что не умеет (кому писать багрепорт) и как это отрубить?

 

steemandlinux
()

Может ли FTDI232 проверить наличие земли?

Есть возможность через FTDI232 проверить наличие физически подключенного устройства?

 

steemandlinux
()

Как заставить type выводить статическое имя моего класса?

Допустим type(0.0) возвращает <class ‘float’>.

Как сделать тоже самое для моего класса без путей?

Чтобы было <class ‘My ripped object’>

 

steemandlinux
()

Доступ к fat32 без монтирования.

Есть ли в линуксах какая-нибудь программа, которая может открыть образ FS без монтирования? Надо получить доступ к образу, который в данный момент подключен через OTG к другой системе. Вроде android 2.3 так умел, но вот я не помню терял ли телефон накопитель, когда его подключали к компьютеру.

 

steemandlinux
()

Внешний аккумулятор с power delivery.

Есть в природе полноценные повербанки, которые умеют заряжать ноутбуки через type-c? А то надпись power delivery есть, а type-c разъём только на вход работает.

 

steemandlinux
()

Как тут XOR считается?

В документации написано:

  • cc: is a check sum (technically an inverted XOR of all bytes returned, excluding the check sum bytes and the <CR> character);

Я пробовал складывать XOR результаты между ASCII кодами и увеливать общую сумму. Но в обоих случаев получается число гораздо меньше.

вот образцы

?:0010:00::c1
?:0011:00::c0
?:3010:00::c2

 

steemandlinux
()

RSS подписка на новые темы