LINUX.ORG.RU

Сообщения ziegfried

 

Нет дебажного вывода о rw семафоров в ядре

Форум — Linux-hardware

Хочу настроить дебажный вывод rw семафоров в ядре Linux. Для этого включил в конфиг CONFIG_DEBUG_RWSEMS=y, но вывода не последовало.

# define DEBUG_RWSEMS_WARN_ON(c, sem)	\
do {			\
	if (!debug_locks_silent &&				\
	    WARN_ONCE(c, "DEBUG_RWSEMS_WARN_ON(%s): count = 0x%lx, magic = 0x%lx, owner = 0x%lx, curr 0x%lx, list %sempty\n",\
		#c, atomic_long_read(&(sem)->count),		\
		(unsigned long) sem->magic,			\
		atomic_long_read(&(sem)->owner), (long)current,	\
		list_empty(&(sem)->wait_list) ? "" : "not "))	\
			 debug_locks_off();			\
	} while (0)
#else
# define DEBUG_RWSEMS_WARN_ON(c, sem)
#endif

 , ,

ziegfried
()

Как посмотреть стэк ядра?

Форум — Development

Доброго дня, у меня плата на АRМ64 с Андроид, хочется стек ядра посмотреть, а лучше брейкпойнт установаить. Не подскажите как лучше сделать? Пробывал через ftrace, но нужную функцию не выводит. Нужно ли как-то указывать в коде ядра какую функцию отслеживать во время запуска ftrace?

 ,

ziegfried
()

Как описать пин GPIO-экспандера в dts, чтоб во время перехода в режим «Suspend-to-RAM» пин отключался.

Форум — Linux-hardware

Имею GPIO-экспандер(tca6424) на плате, пин17 которого управляет питанием подсистем. Нужно ли мне описывать этот пин как regulator или regulator-fixed, пробывал описать вот так:

hu_u1740: tca6424_hu_u1740@22 {
    compatible = "ti,tca6424";
    reg = <0x22>;
    gpio-controller;
    #gpio-cells = <2>;
    
    regulator@17 {
        regulator-min-microvolt = <33000000>;
        regulator-max-microvolt = <3300000>;
        regulator-always-on;
        regulator-name = "pw_bt";
        enable-active-high;
        regulator-state-mem {
                regulator-off-in-suspend;
        };
    };
};

Но питание все равно не снимается( при переходе в спящий режим.

 ,

ziegfried
()

Как залить linux ядро через ftp или NFS с помощью u-boot на желехку с Андроидом?

Форум — Admin

Как заливать ядро на железку с Линуксом через сеть я розобрался, а на Андроид не получается, тк Андроид содержит в себе множество партиций. Да и вообще возможно ли закачивать отдельно образ ядра не тащя весь образ Андроида в целом?

 ,

ziegfried
()

Как описать GPIO в device tree чтоб при переходе в спящий режим («Suspend-to-ram») снималось питание

Форум — Linux-hardware

Вроде бы ответ должен быть на поверхности, но я таки не нашел на просторах интернета четких примеров.

 , ,

ziegfried
()

Как отключить кулер при переходе Linux в режим «Suspend-to-RAM»?

Форум — Linux-hardware

Есть ли некий механизм в ядре Linux в который можно добавлять устройство, кот будет переводится в режим пониженного энергопотребления при переходе Linux в «Suspend-to-RAM».

 ,

ziegfried
()

Система после отправки в режим «Suspend-to-RAM» ловит кернел паник

Форум — Linux-hardware

Работаю с бордой imx8qmmek c Андроидом на борту. Отправляю систему в спячку, после некторого времени система почему-то просыпается сама и бросает кернел паник. Я так понимаю проблема с HDMI, либо с GPU. Как устронить пока не понимаю.

Отправка в режим «Suspend-to-RAM»:

[   31.809827] rfkill: BT RF going to : off
[   33.466527] receive power state report with value 5000
[   35.466147] receive power state report with value 5000
[   35.946034] vref_1v8: disabling
[   35.949185] SD1_SPWR: disabling
[   35.952378] epdev_on: disabling
[   35.955557] wlreg_on: disabling
[   37.466159] receive power state report with value 5000
[   39.466158] receive power state report with value 5000
[   41.459711] receive power state report with value 900000
[   41.475528] PM: suspend entry (deep)
[   41.486892] Filesystems sync: 0.007 seconds
[   41.491130] Freezing user space processes ... (elapsed 0.010 seconds) done.
[   41.508519] OOM killer disabled.
[   41.511768] Freezing remaining freezable tasks ... (elapsed 0.061 seconds) done.
[   41.581077] printk: Suspending console(s) (use no_console_suspend to debug)
[   42.440209] Disabling non-boot CPUs ...
[   42.440760] CPU1: shutdown
[   42.441780] psci: CPU1 killed (polled 0 ms)
[   42.442044] CPU2: update max cpu_capacity 1024
[   42.443907] CPU2: shutdown
[   42.444921] psci: CPU2 killed (polled 0 ms)
[   42.445967] CPU5: update max cpu_capacity 1024
[   42.446481] CPU3: shutdown
[   42.447493] psci: CPU3 killed (polled 0 ms)
[   42.448857] CPU4: shutdown
[   42.449870] psci: CPU4 killed (polled 0 ms)
[   42.450617] CPU0: update max cpu_capacity 1024
[   42.451013] CPU5: shutdown
[   42.452031] psci: CPU5 killed (polled 0 ms)

Выход из режима «Suspend-to-Ram»

[   42.454019] Detected PIPT I-cache on CPU1
[   42.454043] GICv3: CPU1: found redistributor 101 region 0:0x0000000051ba0000
[   42.454065] CPU1: Booted secondary processor 0x0000000101 [0x410fd082]
[   42.457273] CPU1 is up
[   42.466007] CPU1: update max cpu_capacity 1024
[   42.466081] Detected VIPT I-cache on CPU2
[   42.466105] GICv3: CPU2: found redistributor 0 region 0:0x0000000051b00000
[   42.466146] CPU2: Booted secondary processor 0x0000000000 [0x410fd034]
[   42.471273] CPU2 is up
[   42.472237] Detected VIPT I-cache on CPU3
[   42.472253] GICv3: CPU3: found redistributor 1 region 0:0x0000000051b20000
[   42.472272] CPU3: Booted secondary processor 0x0000000001 [0x410fd034]
[   42.473927] CPU0: update max cpu_capacity 1024
[   42.476731] CPU3 is up
[   42.477678] Detected VIPT I-cache on CPU4
[   42.477693] GICv3: CPU4: found redistributor 2 region 0:0x0000000051b40000
[   42.477713] CPU4: Booted secondary processor 0x0000000002 [0x410fd034]
[   42.477927] CPU1: update max cpu_capacity 1024
[   42.481924] CPU0: update max cpu_capacity 1024
[   42.482099] CPU4 is up
[   42.483049] Detected VIPT I-cache on CPU5
[   42.483066] GICv3: CPU5: found redistributor 3 region 0:0x0000000051b60000
[   42.483087] CPU5: Booted secondary processor 0x0000000003 [0x410fd034]
[   42.487622] CPU5 is up
[   42.489932] CPU5: update max cpu_capacity 1024
[   42.540645] PM: dpm_run_callback(): genpd_resume_noirq+0x0/0xc0 returns -16
[   42.540649] PM: Device hdmi_pixel_link_clk failed to resume noirq: error -16
[   42.550950] [drm] Started firmware!
[   42.551137] [drm:cdns_mhdp_firmware_init_imx8qm] *ERROR* NO HDMI FW running
[   42.552785] [drm] Mode: 1920x1080p148500
[   42.578129] [drm:cdns_hdmi_phy_set_imx8qm] *ERROR* NO HDMI FW running
[   42.578130] [drm] Sink Not Support SCDC
[   47.578360] [drm:cdns_hdmi_mode_set] *ERROR* cdns_hdmi_mode_set, ret = -110
[   47.723913] imx-cs42888 sound-cs42888: failed to find codec platform device
[   47.953533] OOM killer enabled.
[   47.956678] Restarting tasks ... 
[   47.964248] healthd: battery l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
[   47.965009] Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP
[   47.968793] healthd: battery l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
[   47.973072] done.
[   47.975140] Modules linked in: hid_multitouch sd_mod usb_storage ci_hdrc_imx ci_hdrc usbmisc_imx ehci_hcd ulpi brcmfmac(O) mx8_bt_rfkill brcmutil(O) cfg80211(O) compat(O)
[   47.975172] CPU: 5 PID: 220 Comm: cdns-mhdp-cec Tainted: G           O      5.4.24-00038-ge7d8dbaef4c5-dirty #16
[   47.975174] Hardware name: Freescale i.MX8QM MEK (DT)
[   47.975179] pstate: 60400005 (nZCv daif +PAN -UAO)
[   47.975194] pc : cdns_mhdp_bus_read+0xb8/0x108
[   47.975202] lr : cdns_mhdp_bus_read+0x24/0x108
[   47.985140] Hot alarm is canceled. GPU3D clock will return to 64/64
[   47.990247] sp : ffff8000133d3dd0
[   47.990250] x29: ffff8000133d3df0 x28: 0000000000000000 
[   47.990256] x27: 0000000000000001 x26: 0000000000033844 
[   47.990260] x25: ffff8000106004f8 x24: ffff8000111fa6dc 
[   47.990264] x23: 0000000000000000 x22: ffff8000117eb858 
[   47.990269] x21: ffff0008f7582080 x20: 000000000003394c 
[   48.012210] PM: suspend exit
[   48.017583] x19: ffff0008f7582e60 x18: 0000000000000000 
[   48.017588] x17: 0000000000000000 x16: 00000000000001fa 
[   48.017592] x15: 0000000000000400 x14: 0000000b224b4b00 
[   48.017596] x13: 0000000000000000 x12: ffff800010fb9060 
[   48.017600] x11: 0000000000000000 x10: 0000000000000000 
[   48.017604] x9 : 000000000000094c x8 : ffff80001322594c 
[   48.017607] x7 : 0000000000000000 x6 : 0000000000000000 
[   48.017611] x5 : ffff80001144bac0 x4 : ffff80001144bc94 
[   48.028306] this type is not correct: 289409539:0:82!
[   48.030351] configfs-gadget gadget: super-speed config #1: b
[   48.030519] android_work: sent uevent USB_STATE=CONFIGURED
[   48.031891] x3 : 000000000000000a x2 : ffff0008ff3d2ed0 
[   48.031895] x1 : 000000000003394c x0 : ffff0008f7582e60 
[   48.031899] Call trace:
[   48.031908]  cdns_mhdp_bus_read+0xb8/0x108
[   48.031917]  mhdp_cec_poll_worker+0x98/0x238
[   48.031922]  kthread+0x10c/0x11c
[   48.031928]  ret_from_fork+0x10/0x18
[   48.031937] Code: b9000109 f94002a8 12002e89 8b090108 (b9400114) 
[   48.031950] ---[ end trace 8d21d53265e4f58a ]---
[   48.031954] Kernel panic - not syncing: Fatal exception
[   48.039822] receive power state report with value 0
[   48.058037] SMP: stopping secondary CPUs
[   48.058075] ------------[ cut here ]------------
[   48.058094] WARNING: CPU: 2 PID: 422 at /home/SWTECNN/rkhairulin/projects/evolutionhu/vendor/nxp-opensource/kernel_imx/kernel/sched/core.c:1744 set_task_cpu+0x158/0x178
[   48.058097] Modules linked in: hid_multitouch sd_mod usb_storage ci_hdrc_imx ci_hdrc usbmisc_imx ehci_hcd ulpi brcmfmac(O) mx8_bt_rfkill brcmutil(O) cfg80211(O) compat(O)
[   48.058126] CPU: 2 PID: 422 Comm: vehicle@2.0-ser Tainted: G      D    O      5.4.24-00038-ge7d8dbaef4c5-dirty #16
[   48.058128] Hardware name: Freescale i.MX8QM MEK (DT)
[   48.058132] pstate: 40400085 (nZcv daIf +PAN -UAO)
[   48.058137] pc : set_task_cpu+0x158/0x178
[   48.058142] lr : try_to_wake_up+0x304/0x588
[   48.058144] sp : ffff800010013d80
[   48.058146] x29: ffff800010013da0 x28: ffff0008ff38d240 
[   48.058150] x27: ffff0008ff38d268 x26: 0000000b2805e14a 
[   48.058154] x25: 0000000000000000 x24: ffff0008ec810d40 
[   48.058158] x23: 0000000000000004 x22: 0000000000000004 
[   48.058162] x21: ffff0008f73427c0 x20: 0000000000000004 
[   48.058166] x19: ffff0008f73427c0 x18: 0000005625629640 
[   48.058170] x17: 0000000000000400 x16: 0000000000000005 
[   48.058174] x15: 000000000000000e x14: 00000000013bbe53 
[   48.058178] x13: ffff0008ff390500 x12: 0000000000000000 
[   48.058182] x11: 000000000000003c x10: ffff8000110f9d58 
[   48.058186] x9 : 0000000000000010 x8 : 0000000000000026 
[   48.058189] x7 : 0000000000000000 x6 : ffff80001121291f 
[   48.058193] x5 : 0000000000000000 x4 : 0000000000000000 
[   48.058197] x3 : 0000000000000000 x2 : 0000000000000010 
[   48.058200] x1 : 0000000000000004 x0 : ffff0008f73427c0 
[   48.058205] Call trace:
[   48.058211]  set_task_cpu+0x158/0x178
[   48.058215]  try_to_wake_up+0x304/0x588
[   48.058219]  wake_up_process+0x14/0x1c
[   48.058225]  hrtimer_wakeup+0x1c/0x28
[   48.058229]  __hrtimer_run_queues+0x118/0x1bc
[   48.058233]  hrtimer_interrupt+0xf4/0x338
[   48.058240]  arch_timer_handler_phys+0x34/0x40
[   48.058245]  handle_percpu_devid_irq+0x7c/0x160
[   48.058251]  __handle_domain_irq+0x7c/0xbc
[   48.058255]  gic_handle_irq+0xc4/0x168
[   48.058259]  el1_irq+0xf0/0x1c0
[   48.058263]  vprintk_emit+0x178/0x22c
[   48.058267]  vprintk_default+0x44/0x68
[   48.058271]  vprintk_func+0x1c4/0x1fc
[   48.058274]  printk+0x54/0x78
[   48.058280]  mcu_set_control_commands+0x1f0/0x214
[   48.058284]  netlink_rcv_msg+0x128/0x168
[   48.058290]  netlink_unicast+0x25c/0x2f8
[   48.058294]  netlink_sendmsg+0x2cc/0x338
[   48.058301]  __sys_sendto+0x10c/0x188
[   48.058305]  __arm64_sys_sendto+0x24/0x30
[   48.058311]  el0_svc_common+0x98/0x150
[   48.058315]  el0_svc_handler+0x68/0x80
[   48.058319]  el0_svc+0x8/0xc
[   48.058321] ---[ end trace 8d21d53265e4f58b ]---
[   48.060078] Kernel Offset: disabled
[   48.060082] CPU features: 0x0002,2100600c
[   48.060084] Memory Limit: none
[   48.060088] trusty-log panic notifier - trusty version Built: 15:19:11 Mar 20 2020
[   48.667026] Rebooting in 5 seconds..

 ,

ziegfried
()

RGMII vs RMII

Форум — Linux-hardware

Подскажите, пожалуйста, испльзую процессор imx8 c broadcom чипом. Соединены через RGMII, вроде настроел дтс и отыскал драйвер, работает. Но когда увеличевую нагрузку до 100 Мбит на запись, показывает только 5Мбит. Пробую переключиться на RMII. По идее в направление клоков между ними нет разницы, только в частоте в 25Мгц для RMII и 50Мгц для RMII?

 ,

ziegfried
()

Connman создает автоматически ненужный маршрут

Форум — Admin

Добрый день!

Имею плату с двумя ethernet(eth0, eth1) выходами, wifi(wlan0) и lte-модемом(wwan0). lte-модем подключен к процессору через usb, те eth over usb.

root@imx8qmmek:~# ethtool wwan0
Settings for wwan0:
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

Ввиду специфики интерфейса, connman не видит явно как сервис интерфейс wwan0. Почему то еще через коннмановский конфиг не удается получить динамический адрес, приходится делать это через systemctl network. Мне нужно чтоб lte-modem был самым высоким по приоритету для выхода в интернет, но конман постояно добавляет мне маршрут по умолчанию на устройство eth1 или eth0:

root@imx8qmmek:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 eth1
0.0.0.0         192.168.2.16    0.0.0.0         UG    1024   0        0 wwan0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 wwan0
192.168.2.16    0.0.0.0         255.255.255.255 UH    1024   0        0 wwan0
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.101.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1

Те пакеты у меня все по умолчанию уходят в eth1.

Мои конфиги connman: /etc/connman/main.conf

[General]
PreferredTechnologies = cellular,wifi,ethernet
TetheringTechnologies = cellular,bluetooth,wifi,ethernet

/var/lib/connman/eth1.config

[service_eth1]
AutoConnect = false
Type = ethernet
IPv4 = 192.168.101.1/255.255.255.0
IPv6 = off
MAC = 2e:56:b6:6d:b1:72
#IPv6.privacy = disabled
#Nameservers=0.0.0.0

/var/lib/connman/wwan0.config

[service_wwan0]
Name = wwan0
AutoConnect = true
Type = cellular
IPv4 = dhcp
#IPv6 = off
#IPv6.Privacy = disable
MAC = ee:cd:df:31:60:72
#IPv6.privacy = disabled
Nameservers = 8.8.8.8

/etc/systemd/network/18-wwan0.network

[Match]
Name=wwan0
[Link]
MACAddress=ee:cd:df:31:60:72
[Network]
DHCP=yes
#RouteMetric=0
#DefaultRouteOnDevice=yes
##DNS=8.8.8.8
#[DHCPv4]
#RouteMetric=0
##[Route]
Gateway=192.168.2.16
Metric=0

Нужно ли мне писать свой отдельный плагин для конмана в этом случае?

 , ,

ziegfried
()

Не могу захватить аудио устройство через arecord

Форум — Linux-hardware

Добрый день!

Команда arecord -l выдает:

**** List of CAPTURE Hardware Devices ****
card 0: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: amixaudiosai [amix-audio-sai], device 0: HiFi-AMIX-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: My-audio [My-audio], device 0: 59810000.esai-dmic-hifi dmic-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Пытаюсь произвести захват:

arecord -D hw:2 -c8 -r48000 -fS32_LE -Vstereo  -twav test.wav
arecord: main:828: audio open error: No such device or address

В чем может быть проблема? Спасибо!

 ,

ziegfried
()

Драйвер для BCM89811B1AWMLG AUTOMOTIVE BROADR-REACH PHY

Форум — Linux-hardware

День добрый!

Может у кого есть драйвер к чипу BCM89811B1AWMLG? Или может есть какая альтернатива для него?

Спасибо!

 ,

ziegfried
()

Добаление звуковой карты на интерфейсе ESAI на imx

Форум — Linux-hardware

Добрый день!

Есть процессор imx8, нужно прописать звуковую карту на базе ESAI в dts. Был ли у кого такой опыт?

 , ,

ziegfried
()

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