LINUX.ORG.RU

Сообщения wheelman

 

RTL8822CE в режиме Hotspot

Приветствую!

На днях стал счастливым обладателем NanoPi R5C. Внутри есть разъём M.2 PCIe x1, хочу поставить ви-фи как hotspot, раздавать инет, пока выбор пал на RTL8822CE, с драйверами вроде всё нормально, но не нахожу информации по работе в хотспоте.

Доводилось кому-то работать с этим модулем? Как скорость? BT5 работает нормально? Или если есть что-то альтернативное, чтобы в 802.11ac и BT5 поддерживал, и проблем с ним не было, как с AX210

 ,

wheelman
()

RTL9210 SSD зависает.

Приветствую камрады!

Прикупил Orico NVMe M.2 SSD 10Gbps, на базе бриджа RTL9210, установил туда KINGSTON SA400S37120G, который до этого стоял в домашней машине и бутстрапнул туда арч, чтобы можно было загрузиться в полноценную систему на рабочей машине (на которой стоит оффтопик).

Первые проблемы начали вылазить в процессе бутстрапа и выглядели как ошибки драйвера UAS с отвалом диска. Лог ядра добавлю позже, если получится проблему воспроизвести. UAS я попробовал вылечить через usb-storage.quirks=0bda:9210:u, что вроде как помогло доустановисть систему и загрузиться с самого диска. Но в процессе работы с диска он периодически отваливается с полным зависанием системы (разумеется). После резета машины, диск не детектится в BIOS (но это возможно связано с кривым ASUS-овским биосом), его необходимо переподключить.

Решать проблему я начал с кабелей. Изначально адаптер был подключен через родной короткий шнурок USB3.0 <-> Type-C к удлинителю USB2.0. Дома, при подключении к ноуту родным шнурком в USB2 порт, проблема воспроизвелась. Я предположил, что у адаптера плохая поддержка USB2 и подключил его в USB3.0 на работе коротким кабелем. При работе на порте 3.0 зависаний не происходило (возможно мне повезло), но лазить каждый раз под стол не прикольно, поэтому был куплен 3.0 <-> Type-C на 1.8м.

Прошивка. На форуме есть тред по прошивке RTL9210 и аналогичных бриджей, а на station-drivers.com есть последняя версия 1.25, на которую я обновился с текущей 1.24. Вот старый дамп MPTool до прошивки:

( читать дальше... )

Попутно инфо системы:

( читать дальше... )

И лог ядра, в момент отвала диска, когда я был загружен с флешки:

( читать дальше... )

Прошивка не помогла, как и установка DISK_IPS_THRES отвечающего за отключение питания шины PCI по таймауту во имя энергосбережения (некоторым помогало с отвалами). Передача в параметре ядра quirks для отключения UAS не помогает.

В текущий момент проверяю короткий кабель, есть подозрение на длинный 1.8м, который китайский и бюджетный за ~5$, хотя производитель указал на упаковке по экрану на каждую дифференциальную пару включая общий экран.

Есть идеи? Кто-то вообще с такими адаптерами работал? Может они вообще не предназначены, чтобы с них грузились?

 , ,

wheelman
()

Коррекция падения напряжения на диоде.

Приветствую!

Занимаюсь не большим, собственным проектом метеостанции с питанием от солнечной батареи. Для начала, из чего попало собрал тестовый образец: STM32F100, NRF24L01, датчик температуры - диод, CR2032 для RTC. В конечном устройстве планирую поставить BMP280, SHT20, STM32L151, NRF96W / Si4463.

Первое и самое главное - напряжение питания не будет постоянным. Падение напряжения на прямо включенном диоде зависит от температуры и +- линейно, но при неизменной температуре будет меняться в зависимости от питающего напряжения по причине I=U/R. Соответственно имеем проблему, как правильно откорректировать это значение опираясь на питающее напряжение?

Я написал простенький код, где АЦП делает 128 семплов и после вычисляется среднее арифметическое. Приведу ту часть, где вычисляются сами значения:

// VDDA currently
float vdda = (1.20 / adc_vref) * 4096.0;

// LSB value
float lsbv = (vdda / 4096.0);

// Diode voltage
float diode = lsbv * adc_diode;

Подключил плату к БП, измерил значения при разном напряжении питания и получил следующее:

БП 3.3v
vdda	3.26591372		
lsb	0.000797342218	
diode	0.512691021	

БП 2v	
vdda	1.98513734	
lsb	0.000484652672	
diode	0.486106634	

Соответственно при изменении питающего напряжения в пределах 1.28077638 V напряжение на диоде меняется на 0.026584387 V.

С матаном у меня не очень, поэтому подвигав не многочисленными извилинами, я пришел к такой последовательности расчетов:

  1. Возьмём значения из предыдущих измерений. Верхнее значения напряжения при измерении 3.26591372, дельту 1.28077638 и 0.026584387
  2. В текущий момент у нас следующие показатели:
    • vdda 2.57880378
    • lsb 0.000629590766
    • diode 0.499265492
  3. Получаем текущую дельту напряжения питания: 3.26591372 - 2.57880378 = 0.68710994
  4. Делим вымеренную дельту на текущую: 1.28077638 / 0.68710994 = 1.86400502371
  5. Делим дельту диода на значение из предыдущих расчетов: 0.026584387 / 1.86400502371 = 0.0142619717554
  6. Прибавляем полученное значение корректировки к текущему напряжению на диоде: 0.499265492 + 0.0142619717554 = 0.513527463756

Собственно мы получаем нечто более-менее похожее на правду, но храмающее по точности.

Схема включения диода

Фото тестовой платы

Схема тестовой платы

 , ,

wheelman
()

Провисание FPS в KDE

Приветствую!

Пытаюсь побороть проблему с просадкой FPS в KDE. Проблема заключается в резком, кратковременном затормаживании системы при открытии главного меню, сворачивании или разворачивании окон и любых аналогичных эффектах. При включении «Show FPS» в эффектах, можно наблюдать, как при открытии systemsettings5 fps падает c 60 до 8-10, анимация иконки возле курсора происходит с рывками, движение курсора происходят с лагом, если на заднем плане крутится видео с ютуба, оно тоже становится прерывистым. На звук это не влияет. На RT-шном ядре ситуация лучше, чем на обычном.

Железо:

  • i5-4460 x4 3.2GHz
  • 8GB DDR3 1600MHz
  • NVIDIA GeForce GTX 970 4GB
  • Transcend A2000 на линии x4

Пробовал переключить режим видеокарты с Auto на Performance, ничего не изменилось.

В композиторе следующие настройки:

Scale method: Smooth
Rendering backend: OpenGL 3.1
Tearing prevention ("vsync"): Never
mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
    video-nvidia-450xx            2020.10.04               false            PCI

uname -a
Linux i5 5.9.1-1-rt19-MANJARO #1 SMP PREEMPT_RT Sat Oct 24 16:27:39 UTC 2020 x86_64 GNU/Linux

cat /etc/lsb-release 
DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=20.2
DISTRIB_CODENAME=Nibia
DISTRIB_DESCRIPTION="Manjaro Linux"

GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3 i915.modeset=0 nvidia.modeset=1 mitigations=off"

Значительно улучшило ситуацию добавление в конфиг xorg:

Option         "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Option "TripleBuffer" "On"

и

export KWIN_TRIPLE_BUFFER=1
export __GL_YIELD=USLEEP
export __GL_MaxFramesAllowed=1

в /etc/profile.d/kwin.sh

Отзывчивость улучшилась, просадка при этом в среднем не ниже 30, но торможение всё ещё чувствуется при операциях с эффектами (открытие меню, сворачивание окон)

Оно вообще лечится или с этим жить? Где-то читал, что с поддержкой проприетарных дрейверов Nvidia в линуксах всё очень печально, не зря Линус палец показывал. Неужто теперь лучше покупать продукцию красных?

 , , ,

wheelman
()

Скрытый раздел (losetup + luks)

Приветствую, камрады!

Использую внешний hdd, на нем два раздела, первый в ntfs (win/lin) файлопомойка, второй раздел luks шифрован для личных бекапов.

При подключении харда в винде, винда предлагает форматнуть luks раздел, что не есть красиво.

Попробовал новый способ:

1. Создается раздел с ntfs для файлопомойки определенного размера.

2. Не размеченное место монтируется как loop device.

3. loop device форматируется в luks.

Для примера:

root@opx:~# fdisk -l
Disk /dev/sdb: 504,51 MiB, 529006592 bytes, 1033216 sectors
Disk model: Udisk 2.0       
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x366c1abd

Device     Boot Start    End Sectors  Size Id Type
/dev/sdb1        2048 206847  204800  100M 83 Linux

206847 - конец раздела, дальше - не размечено.

root@opx:~# losetup -o $((206847 * 512)) /dev/loop0 /dev/sdb
root@opx:~# cryptsetup luksFormat --force-password /dev/loop0
Дальше работаем с luks как обычно.

Вопрос:

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

2. Нужно ли указывать --sizelimit для losetup если не размеченная область всегда в конце?

 ,

wheelman
()

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