LINUX.ORG.RU

Сообщения sanekru

 

Linux debianlaptop 6.16.12+deb14+1-amd64 отвалился драйвер Bluetooth

Доброго времени! После обновления ядра перестал работать встроенный Bluetooth.

# lsusb | grep Blue
Bus 003 Device 003: ID 0bda:4852 Realtek Semiconductor Corp. Bluetooth Radio

# inxi --bluetooth -xxx
               Bluetooth:
        Device-1: Realtek Bluetooth Radio driver: N/A type: USB rev: 1.0
          speed: 12 Mb/s lanes: 1 bus-ID: 3-4:3 chip-ID: 0bda:4852 class-ID: e000
          serial: 00e04c000001

# dmesg | grep -i Blue
[    2.107813] usb 3-4: Product: Bluetooth Radio
[    4.986288] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[   37.022820] Bluetooth: Core ver 2.22
[   37.022880] NET: Registered PF_BLUETOOTH protocol family
[   37.022882] Bluetooth: HCI device and connection manager initialized
[   37.022887] Bluetooth: HCI socket layer initialized
[   37.022890] Bluetooth: L2CAP socket layer initialized
[   37.022894] Bluetooth: SCO socket layer initialized

#rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
	Soft blocked: no
	Hard blocked: no
1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no

○ bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
     Active: inactive (dead)
       Docs: man:bluetoothd(8)

dmesg | egrep -i 'blue|firm'
[    0.078463] Spectre V2 : Enabling Speculation Barrier for firmware calls
[    0.303371] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    0.327102] acpi PNP0A08:00: [Firmware Info]: ECAM [mem 0xf8000000-0xfbffffff] for domain 0000 [bus 00-3f] only partially covers this bridge
[    1.744015] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x6f3001)
[    2.107813] usb 3-4: Product: Bluetooth Radio
[    4.441767] systemd[1]: systemd-hibernate-clear.service - Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
[    4.986288] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[    5.364783] rtw89_8852ae 0000:03:00.0: loaded firmware rtw89/rtw8852a_fw.bin
[    5.369355] rtw89_8852ae 0000:03:00.0: Firmware version 0.13.36.0 (c33d3f88), cmd version 0, type 1
[    5.369361] rtw89_8852ae 0000:03:00.0: Firmware version 0.13.36.0 (c33d3f88), cmd version 0, type 3
[    8.394190] amdgpu 0000:05:00.0: amdgpu: [drm] Loading DMUB firmware via PSP: version=0x01010026
[    8.394770] amdgpu 0000:05:00.0: amdgpu: Found VCN firmware Version ENC: 1.19 DEC: 5 VEP: 0 Revision: 0
[   37.022820] Bluetooth: Core ver 2.22
[   37.022880] NET: Registered PF_BLUETOOTH protocol family
[   37.022882] Bluetooth: HCI device and connection manager initialized
[   37.022887] Bluetooth: HCI socket layer initialized
[   37.022890] Bluetooth: L2CAP socket layer initialized
[   37.022894] Bluetooth: SCO socket layer initialized
[ 1710.931511] thinkpad_acpi: WARNING: sysfs attribute bluetooth_enable is deprecated and will be removed. Please switch to generic rfkill before year 2010

Не понимаю последний warning и собственно что делать то? На предыдущем ядре всё Ок, тоесть почти, аудио иногда подлагивает, вот и приобрёл свисток USB тоже Realtek, так на нём всё нормально и на этом ядре и на предыдущем!

Bus 001 Device 003: ID 0bda:8771 Realtek Semiconductor Corp. Bluetooth Radio
Bus 003 Device 003: ID 0bda:4852 Realtek Semiconductor Corp. Bluetooth Radio

# hciconfig -a
hci0:	Type: Primary  Bus: USB
	BD Address: 00:E0:4C:23:99:87  ACL MTU: 1021:6  SCO MTU: 255:12
	UP RUNNING PSCAN 
	RX bytes:1612 acl:0 sco:0 events:176 errors:0
	TX bytes:31935 acl:0 sco:0 commands:176 errors:0
	Features: 0xff 0xff 0xff 0xfe 0xdb 0xfd 0x7b 0x87
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
	Link policy: RSWITCH HOLD SNIFF PARK 
	Link mode: PERIPHERAL ACCEPT 
	Name: 'debianlaptop'
	Class: 0x6c010c
	Service Classes: Rendering, Capturing, Audio, Telephony
	Device Class: Computer, Laptop
	HCI Version: 5.1 (0xa)  Revision: 0x9a9
	LMP Version: 5.1 (0xa)  Subversion: 0x8a6b
	Manufacturer: Realtek Semiconductor Corporation (93)

соответственно поднят только один интерфейс, который свисток usb.

Вот думал что когда нибудь встроенный bluetooth заработает после обновы, а получается он вовсе отвалился! И после того как воткнул свисток сервис сразу поднялся

systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
     Active: active (running) since Fri 2025-11-21 21:20:49 MSK; 6min ago
 Invocation: 2ba8edb820be4ad194fe5fb232a4ddc2
       Docs: man:bluetoothd(8)
   Main PID: 3606 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 17596)
     Memory: 4.3M (peak: 4.6M)
        CPU: 87ms
     CGroup: /system.slice/bluetooth.service
             └─3606 /usr/libexec/bluetooth/bluetoothd

Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/faststream
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/faststream_duplex
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSink/opus_05
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/opus_05
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Nov 21 21:20:50 debianlaptop bluetoothd[3606]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/opus_05_duplex

 , ,

sanekru
()

Скрипт автоматического запуска ffmpeg

Доброго времени!

Требуется скрипт автоматической загрузки двух экземпляров ffmpeg для записи с двух камер rtsp. Встаёт вопрос по проверке работы самих камер при запуске и непосредственно записи, например если камеру принудительно выключить и включить, то ffmpeg при этом продолжает писать квадрат Малевича и соответственно запись не ведётся. На ум приходит брать из stdout строку со временем записи и раз в несколько секунд смотреть изменилось ли время (т.к. при неактивности камеры время не идёт). А по поводу проверки при запуске тоже анализировать stdout и если какие проблемы перезапуск. Вопрос к вам по реализации такого алгоритма? Или может есть решение проще? Может ffmpeg имеет какой API чтоб не парсить stdout?

 , ,

sanekru
()

Помогите разобраться с односвязным списком.

Доброго всем времени!

Изучаю программирование на си по книге А.В. Столярова, очень доходчиво предоставляет материал, первый том зашёл на одном дыхании, правда буксанул с комбинаторикой.

Итак имеется код который удаляет элементы списка имеющие отрицательные значения:

struct item **pcur;
pcur = &first;
while (*pcur) {
   if ((*pcur)->data < 0) {
      struct item *tmp = *pcur;
      *pcur = (*pcur)->next;
      free (tmp);
   } else {
      pcur = &(*pcur)->next;
   }
}

Вроде всё банально и просто, но я не могу понять как к примеру если в третьем элементе отрицательное значение, то соответственно срабатывает if и четвертый элемент становится третьим, но во втором элементе поле next ведь ссылается на адрес которого уже нет? Чувствую что то не догоняю до жути простое, но сижу уже какое-то время и прям ступор. Объясните пожалуйста как оно работает?

 ,

sanekru
()

Bluetooth проигрывание музыки с телефона через laptop на aux

Доброго времени суток и с наступившим новым годом!

Имеется проблема прослушивания музыки с телефона подключенного по bluetooth на компьютер с установленным debian 12 и в качестве вывода звука имеются обычные колонки подключенные к компу через mini jack. Так же имеется bluetooth mouse которая так же подключается к компьютеру.

Так вот собственно проблема заключается в том, что когда подключен только телефон всё отлично воспроизводиться, но только я подключаю мышь то сразу же начинаются лаги воспроизведения (как будто нехватает пропускной способности канала bluetooth или буферизации, начинает заикаться воспроизведение), как только мышь отключаю всё сразу нормализуется.

PS: Может я много требую от системы и это максимальная пропускная способность bluetooth, если это так то подтвердите или опровергните это пожалуйста!

Немного информации по системе:

uname -a
Linux debianlaptop 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux

# lsusb
Bus 003 Device 003: ID 0bda:4852 Realtek Semiconductor Corp. Bluetooth Radio

# lshw
*-usb:1
                      description: Bluetooth wireless interface
                      product: Bluetooth Radio
                      vendor: Realtek
                      physical id: 4
                      bus info: usb@3:4
                      version: 0.00
                      serial: 00e04c000001
                      capabilities: bluetooth usb-1.00
                      configuration: driver=btusb maxpower=500mA speed=12Mbit/s

# systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-01-02 12:30:48 MSK; 1h 27min ago
       Docs: man:bluetoothd(8)
   Main PID: 739 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 17716)
     Memory: 4.0M
        CPU: 466ms
     CGroup: /system.slice/bluetooth.service
             └─739 /usr/libexec/bluetooth/bluetoothd

Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSink/opus_05
Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/opus_05
Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Jan 02 12:31:09 debianlaptop bluetoothd[739]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
Jan 02 13:11:44 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_78_2B_64_37_0B_63/sep1/fd0: fd(31) ready
Jan 02 13:14:22 debianlaptop bluetoothd[739]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Jan 02 13:14:22 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_90_7A_58_70_BC_F6/sep1/fd1: fd(37) ready
Jan 02 13:15:06 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_78_2B_64_37_0B_63/sep1/fd2: fd(33) ready
Jan 02 13:26:57 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_50_AF_4D_4C_25_9B/fd3: fd(42) ready

# dmesg | grep firmw
[    1.963750] rtw89_8852ae 0000:03:00.0: firmware: direct-loading firmware rtw89/rtw8852a_fw.bin
[    1.966189] rtw89_8852ae 0000:03:00.0: firmware: direct-loading firmware rtw89/rtw8852a_fw.bin



 , ,

sanekru
()

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