RTV forum PL | NewsGroups PL

Embedded PC z Ubuntu 22.04 - Jak skonfigurować SMBus dla TCA6804 i LTC2945?

Embedded PC - SMBus problem -I2C

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Embedded PC z Ubuntu 22.04 - Jak skonfigurować SMBus dla TCA6804 i LTC2945?

Adam Górski
Guest

Thu Jun 15, 2023 7:57 pm   



Witam,

Mam emebedded PC z normalnym x86_64 + normalne ubuntu 22.04 z kernelem
5.15.0.

Dodatkowo mam tam dwa scalaki na SMBus. TCA6804 i LTC2945.
Do obu jak się okazało Ubuntu ma wkompilowane drivery.
PCA953x, obsługujący również ten mój TCA i ltc2945 do tego drugiego.

Drivery nie ładują się na początku bo prawdopodobnie nie ma gdzieś
właściwych definicji.

Moduły same w sobie mogę załadować, ale to nie jest pnp.
Normalnie szukałbym DTS gdzieś w tym ubuntu, ale nie ma. Z acpi nie
bardzo mam doświadczenie.

Z dts wiem jak to zrobić. Załadować definicje przy pomocy dtoverlay ,
potem moduł i używać.

Trochę utknąłem.
Co do jakiejś formy definicji ich obecności - jestem pewien ,że musi
być. W każdym razie driver do ltc2945 zdaje się pobierać parametry w
poniższy sposób:

if (device_property_read_u32(dev, "shunt-resistor-micro-ohms",
&data->shunt_resistor))

Ma ktoś jakiś pomysł ?

Pozdrawiam

Adam Górski

Kaczin0
Guest

Thu Jun 15, 2023 8:12 pm   



W dniu 15.06.2023 o 19:57, Adam Górski pisze:
\
Quote:

Ma ktoś jakiś pomysł ?


No, ja mam. Kombinuję jakby tu zrobić taki turecki chlebek, który dają
do kebaba w Berilner Doner Kebap. Przyznam, że jest świetny. Chrupiący
na zewnątrz i mięciutki w środku.
Planuję spróbować jak z ciastem drożdżowym, tyle, że dam dużo mniej
cukru i tłuszczu. Konkretnie ile... tego jeszcze nie wiem, ale taki mam
pomysł.

--
Kaczin

Adam Górski
Guest

Thu Jun 15, 2023 8:31 pm   



W dniu 15.06.2023 o 20:12, Kaczin0 pisze:
Quote:
W dniu 15.06.2023 o 19:57, Adam Górski pisze:
\

Ma ktoś jakiś pomysł ?


No, ja mam. Kombinuję jakby tu zrobić taki turecki chlebek, który dają
do kebaba w Berilner Doner Kebap. Przyznam, że jest świetny. Chrupiący
na zewnątrz i mięciutki w środku.
Planuję spróbować jak z ciastem drożdżowym, tyle, że dam dużo mniej
cukru i tłuszczu. Konkretnie ile... tego jeszcze nie wiem, ale taki mam
pomysł.


No dziękuję.

pozdrawiam

Adam Górski

heby
Guest

Thu Jun 15, 2023 8:37 pm   



On 15/06/2023 19:57, Adam Górski wrote:
Quote:
Drivery nie ładują się na początku bo prawdopodobnie nie ma gdzieś
właściwych definicji.

Masz je w postaci modułów? No to:

https://manpages.ubuntu.com/manpages/lunar/en/man5/modules.5.html

Adam Górski
Guest

Thu Jun 15, 2023 8:51 pm   



W dniu 15.06.2023 o 20:37, heby pisze:
Quote:
On 15/06/2023 19:57, Adam Górski wrote:
Drivery nie ładują się na początku bo prawdopodobnie nie ma gdzieś
właściwych definicji.

Masz je w postaci modułów? No to:

https://manpages.ubuntu.com/manpages/lunar/en/man5/modules.5.html



No tak łatwo to nie ma.
Moduly to ja sobie mogę ładować.

SMBus nie jest niestety PNP i trzeba gdzieś podać co na niej jest ( i na
której ).

O ile adresy to sobie system przeskanuje , ale co to za układy to już
się nie dowie , bo rzadko który mam chip ID.

Zatem trzeba jakoś podać. Tylko jak.

Pozdrawiam

Adam Górski

heby
Guest

Thu Jun 15, 2023 9:26 pm   



On 15/06/2023 20:51, Adam Górski wrote:
Quote:
https://manpages.ubuntu.com/manpages/lunar/en/man5/modules.5.html
No tak łatwo to nie ma.
Moduly to ja sobie mogę ładować.
SMBus nie jest niestety PNP i trzeba gdzieś podać co na niej jest ( i na
której ).

Właśnie tam się podaje:

https://askubuntu.com/questions/51226/how-to-add-kernel-module-parameters

Zbych
Guest

Thu Jun 15, 2023 9:44 pm   



Adam Górski wrote on 15.06.2023 20:51:

Quote:
Zatem trzeba jakoś podać. Tylko jak.

W jakimś skrypcie odpalanym jednorazowo przez systemd na starcie kompa
załaduj driver i wykonaj konfigurację:

modprobe ltc2945
echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device

Może da się to zrobić bardziej elegancko przez wywołanie drivera w
/etc/modules oraz przekazanie do niego parametrów w
/etc/modprobe.d/ltc2945.conf (options ltc2945 .....), ale google na ten
temat milczy.

Adam Górski
Guest

Fri Jun 16, 2023 1:13 pm   



W dniu 15.06.2023 o 21:44, Zbych pisze:
Quote:
Adam Górski wrote on 15.06.2023 20:51:

Zatem trzeba jakoś podać. Tylko jak.

W jakimś skrypcie odpalanym jednorazowo przez systemd na starcie kompa
załaduj driver i wykonaj konfigurację:

modprobe ltc2945
echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device

Może da się to zrobić bardziej elegancko przez wywołanie drivera w
/etc/modules oraz przekazanie do niego parametrów w
/etc/modprobe.d/ltc2945.conf (options ltc2945 .....), ale google na ten
temat milczy.

Sprawdzę i dam znać.


Dzięki.

Pozdrawiam

Adam Górski

Adam Górski
Guest

Sun Jun 18, 2023 11:57 pm   



W dniu 15.06.2023 o 21:26, heby pisze:
Quote:
On 15/06/2023 20:51, Adam Górski wrote:
https://manpages.ubuntu.com/manpages/lunar/en/man5/modules.5.html
No tak łatwo to nie ma.
Moduly to ja sobie mogę ładować.
SMBus nie jest niestety PNP i trzeba gdzieś podać co na niej jest ( i
na której ).

Właśnie tam się podaje:

https://askubuntu.com/questions/51226/how-to-add-kernel-module-parameters


Dzięki. O to chodziło.

Adam

Adam Górski
Guest

Mon Jun 19, 2023 12:15 am   



W dniu 16.06.2023 o 13:13, Adam Górski pisze:
Quote:
W dniu 15.06.2023 o 21:44, Zbych pisze:
Adam Górski wrote on 15.06.2023 20:51:

Zatem trzeba jakoś podać. Tylko jak.

W jakimś skrypcie odpalanym jednorazowo przez systemd na starcie kompa
załaduj driver i wykonaj konfigurację:

modprobe ltc2945
echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device

Może da się to zrobić bardziej elegancko przez wywołanie drivera w
/etc/modules oraz przekazanie do niego parametrów w
/etc/modprobe.d/ltc2945.conf (options ltc2945 .....), ale google na
ten temat milczy.

Sprawdzę i dam znać.

Dzięki.

Pozdrawiam

Adam Górski

Już się wyjaśniło.

Wystarczyło : echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device

Ale zapomnialem , że sudo to nie su. I powyższe jest ok z poziomu roota.

Z poziomu usera trzeba nieco inaczej :

echo "ltc2945 0x10" | sudo tee /sys/bus/i2c/devices/i2c-1/new_device

Cały problem był spowodowany tym , że gdzieś wyczytałem , że Ubuntu ma
zablokowanego roota.

No i faktycznie su mi nie dawało roota.

Zapomniałem , że można jeszcze sudo su bo wtedy setui jest ustawiony i
można nadać sobie prawa roota.

Nie jestem tutaj specjalistą , ale tak chyba mniej więcej jest.

Tak czy siak pojawiły mi się oba urządzenia. ltc245 i tca6408.
I mogę z nimi gadać.

Dzięki bardzo za pomoc.

pozdrawiam

Adam Górski

Adam Górski
Guest

Mon Jul 17, 2023 3:53 pm   



W dniu 15.06.2023 o 21:44, Zbych pisze:
Quote:
Adam Górski wrote on 15.06.2023 20:51:

Zatem trzeba jakoś podać. Tylko jak.

W jakimś skrypcie odpalanym jednorazowo przez systemd na starcie kompa
załaduj driver i wykonaj konfigurację:

modprobe ltc2945
echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device

Może da się to zrobić bardziej elegancko przez wywołanie drivera w
/etc/modules oraz przekazanie do niego parametrów w
/etc/modprobe.d/ltc2945.conf (options ltc2945 .....), ale google na ten
temat milczy.


Pozostał jeden problem.

W module parametry pobierane są przez device_property_read_u32().

I nijak nie mogę przekazać tych parametrów do modułu.

- próbowałem insmod xxxx.ko parameter=1
- próbowałem /etc/modprobe.d/xxxx.conf

Niestety modprobe nie ma opcji żeby załadować moduł z dowolnej
lokalizacji. Używam zatem insmod/rmmod.

Przeszukując net mam niejasne przeczucie , że takie parametry powinny
być przekazywane poprzez acpi a nie przez /etc/.... bo mogą być różne
dla kilku instancji.

Jakiś pomysł ( w temacie )?

Pozdrawiam

Adam Górski

elektroda NewsGroups Forum Index - Elektronika Polska - Embedded PC z Ubuntu 22.04 - Jak skonfigurować SMBus dla TCA6804 i LTC2945?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map