Portál AbcLinuxu, 20. května 2024 15:28


Dotaz: I2C na voyage linux?

23.12.2023 08:27 Tom
I2C na voyage linux?
Přečteno: 336×
Odpovědět | Admin
Dostal jsem dvě WRAP 1E, je to sice vykopávka, ale přijde mi to škoda vyhodit. Celkem bez problémů jsem nainstaloval voyage linux 0,11 (Debian), ale zasekl jsem se u I2C sběrnice. Přímo na desce je I2C sensor LM77 a v read.me se píše

4.2.2 Temperature sensors for WRAP ================================== If you choose WRAP in voyage.update, the required modules would be added to /etc/modules. It adds the following modules in /etc/modules:

scx200_acb base=0x810,0x820 lm77

You will find a new driver in /sys/bus/i2c/drivers/lm77/. To read the temperature,

cat /sys/class/i2c-adapter/i2c-1/1-0048/temp1_input

realita je taková, že v modules je LM77 scx200_acb v tomto pořadí a bez parametru u scx200_acb. (Přidání parametrů a změna pořadí nikam nevede) cat hlásí neexistující soubor. Když se podívám do sys, tak až po adresář 1-0048 vše existuje, ale soubor temp1_input už ne, v adresáři je jsou jen soubory modalias, name, event a podadresáře hwmon a power. Nejde mi o LM77, ale možnost přidat na I2C vlastní hw, ale než začnu instalovat podporu pro I2C chci vědět, že I2c funguje a LM77 je na I2C.

Děkuji za pomoc Tom
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.12.2023 11:58 X
Rozbalit Rozbalit vše Re: I2C na voyage linux?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na desce je vedle CF karty 4pin header oznaceny J3 [1-3V3 2-SCL 3-SDA 4-GND]. Ten LM77 senzor je napevno na druhe samostatne I2C zbernici na adrese 90h. Podle tohoto:
wd1100 sysctl_wd_graceful=0 sysctl_wd_timeout=30 # nahodíme WatchDog
scx200_acb
i2c-sensor
lm77
Jeste bych upravil tu "base adresu" viz zde na:
scx200_acb base=0x810,0x820
Jses si jistej, ze mas scx200_acb jako samostatny modul a neni primo v kernelu?
23.12.2023 13:19 and_i
Rozbalit Rozbalit vše Re: I2C na voyage linux?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Konkretne tenhle setup neznam, ale rekl bych, ze pokud modul lm77 (je natazen?) nema autodetekci adresy sensoru, nenajde jej. Odhadem bych rekl, ze bez autodetekce by mel /etc/modules obsahovat i radek s lm77 a parametrem i2c adresy, kde se sensor nachazi. Pro scan i2c sbernice na dostupne sensory byval sikovny deb balik s i2c utilitkami...
23.12.2023 13:21 and_i
Rozbalit Rozbalit vše Re: I2C na voyage linux?
kolega byl rychlejsi a presnejsi...
23.12.2023 17:07 Tom
Rozbalit Rozbalit vše Re: I2C na voyage linux?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji za reakce. Použiji slova klasika, "vím, že nic nevím".

Kde je konektor I2C a další hw specifika wrap vím, horší je to s sw stránkou, voyage linux je docela očesaná verze debianu.

To co jsem uvedl jsem se dočetl v read.me distribuce voyage 0.11.

Pokud jde o i2c-tools tak ty pokud se nepletu pracuji s I2C přes soubory zařízení v /dev, přesněji přes /dev/i2c-x. ale voyage ve verzi jak jí nainstalujete z ditribuce pracuje přímo s modulem kernelu tedy s "souborem" v /sys.

Jinak řečeno , ja na běžícím voyage v /dev žádne I2C nemám , ale v /sys/class/i2cadapter/ vidim jak i2c-0 tak i2c-1. V i2c-1 je pak adresar 1-0048 což už podle adresy 0x48 je LM77 ale v prvním příspěvku zmíněný příkaz cat ... by měl skončit tím, že vrátí teplotu * 1000, to už nefunguje.

Pak je zde otázka co se musí doinstalovat, aby se I2c objevila jako zařízení v /dev ? Nicmně než to začnu řešit řeším proč nefunguje to co píší přímo v distribuci voyage jako metodu čtení LM77

Tom
23.12.2023 19:54 Tom
Rozbalit Rozbalit vše Re: I2C na voyage linux?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak mi to nedalo a nainstaloval jsem lm-sensors, to obsahuje utilitu sensors-detect a ta LM75 našla a doporučila co zapsat do modules. Kupodivu přesně to co v nich bzlo tj.

scx200_abc LM77

tak jsem yapatrl dal a našl i soubor temp1_input je o dva adresaře hlouběji tj,

cat /sys/class/i2c-adapter/i2c-1/1-0048/hwmon/hwmon0/temp1_input

Takže to bychom měli I2C funguje. Ti se dostáváme k tomu podstatnému. 1.Co je třeba doinstalovat, aby se v /dev objevila I2C a šlo používat i2c utils? 2.Z hlediska linxu a programů v C je nějaký rozdíl zda pak přistupuji k zařízení na I2C před /dev nebo /sys?
23.12.2023 20:08 X
Rozbalit Rozbalit vše Re: I2C na voyage linux?
modprobe i2c-dev
23.12.2023 23:12 Martas
Rozbalit Rozbalit vše Re: I2C na voyage linux?
nebo

grep i2c-dev.ko /lib/modules/`uname -r`/modules.builtin
24.12.2023 00:55 X
Rozbalit Rozbalit vše Re: I2C na voyage linux?
Rozdil mezi /dev a /sys je ten, ze "dev" funguje jako raw I/O zarizeni, "sys" zpristupnuje konfiguraci a vystupy kernelu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.