펌웨어 3.18.x는 I²C, SPI, 오디오, lirc, 1- 와이어를 끊습니다 (예 : / dev / i2c-1, 해당 파일 또는 디렉토리 없음)


19

내가 사용하고 I²C을 컨트롤에 밝은 파이 모듈을.

' GPIO 구성-Adafruit '및 ' I²C 구성 -Adafruit '의 지침에 따라 I²C 를 설정했습니다. 나는 몇 달 전에 이것을했고 모든 것이 잘되었습니다.

이것이 라즈베리 파이 (모델 B)에서 Bright Pi를 연결 한 방법입니다.

서킷 브라이트 파이

오늘 이후로 I²C가 더 이상 작동하지 않는 것을 알았습니다. ' sudo i2cdetect -y 1 '및 ' sudo i2cset -y 1 0x70 0x00 0xff ' 와 같은 명령을 사용하면 오류가 발생합니다.

'/ dev / i2c-1'또는 '/ dev / i2c / 1'파일을 열 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다

' sudo i2cdetect ' 명령을 사용하면 오류가 발생합니다

i2c 버스가 지정되지 않았습니다!

이는 i2c-dev가 실행 중임을 의미합니다.

'/ etc / modules'파일은 다음과 같습니다 :

#/etc/modules: kernel modules to load at boot time. 
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
i2c-dev
i2c-bcm2708

'/etc/modprobe.d/raspi-blacklist.conf'파일은 다음과 같습니다.

blacklist spi and i2c by default (many users don't need them)

#blacklist spi-bcm2708
#blacklist i2c-bcm2708
blacklist snd-soc-pcm512x
blacklist snd-soc-wm8804

필요한 모든 모듈을 다시 설치하려고 시도했지만 도움이되지 않았습니다. 또한 apt-get updateapt-get upgrade도움이되지 않았다.

' lsmod | grep i2c '는 이것을 보여줍니다 :

i2c_bcm2708          6004  0   
i2c_dev              6709  0

그것은 전에 일했던 적이 있기 때문에 이상합니다. 내 라즈베리 파이에서 이상한 커널 오류가 발생했기 때문에 이틀 전에 펌웨어 업데이트를 수행 한 후 "깨진"것으로 생각할 수 있습니다.

I²C 관련 문제를 어떻게 해결할 수 있습니까?

답변:


35

최신 펌웨어는 장치 트리 지원을 구현 합니다 . I²C, SPI 및 1-wire 버스와 같은 문제가 발생했을 것입니다.

자세한 내용은 I²C, SPI, I2S, LIRC, PPS, 작동 중지를 참조하십시오 . 이것을 읽으십시오. .

개요

Add one or more of the following to your /boot/config.txt and reboot.

I2C
No longer add: dtparam=i2c1=on (or dtparam=i2c0=on on old models)
Instead add: dtparam=i2c_arm=on (as this is correctly mapped to 0 or 1 for each model)
A very few users might need: dtparam=i2c_vc=on (for the other i2c interface - see note below)

SPI
Add dtparam=spi=on

I2S
Add dtparam=i2s=on

lirc-rpi
Add dtoverlay=lirc-rpi
Add module parameters to the end of the dtoverlay line,
e.g. dtoverlay=lirc-rpi,gpio_in_pin=16,gpio_in_pull=high

w1-gpio
If you require the external pullup
dtoverlay=w1-gpio-pullup,gpiopin=x,pullup=y
otherwise
dtoverlay=w1-gpio-pullup,gpiopin=x
(where x and y are gpios).

Audio card
Add one of the following
dtoverlay=hifiberry-dac
dtoverlay=hifiberry-dacplus
dtoverlay=hifiberry-digi
dtoverlay=iqaudio-dac
dtoverlay=iqaudio-dacplus

heartbeat LED
dtparam=act_led_trigger=heartbeat

참고 : 실제로 필요한 경우 (예 : HAT EEPROM을 프로그래밍하는 경우) i2c_vc (및 i2c_vc_baudrate) 만 사용하는 것이 좋습니다. i2c_vc를 활성화하면 Pi 카메라 감지가 중지 될 수 있습니다.


당신은 내 영웅입니다! 이것은 내 I2C를 수정했습니다.
LittleOne

7

sudo raspi-config고급 옵션에서 장치 트리를 사용하거나 사용하지 않도록 설정할 수 있습니다 . 구성을 수동으로 변경하는 것보다 빠를 수 있습니다.


1

또는 sudo raspi-configI2C를 활성화 하는 데 사용할 수 있습니다 .

Advanced Options> I2C.

raspi-config20160108 버전, 2016 년 1 월 또는 이후 버전 의 레이아웃

Interfacing Options> I2C.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.