헤놀 dsm7.1 에서 모듈추가 makefile 빌드를 할수없을때 질문드려요ㅠ
dsm7도커에서 , tvheadend 을 사용하여 리눅스 드라이버가 있는 pcie tv수신카드를 인식 하려고 합니다.
해외 성공사례가 없어서 안될거라고 생각하면서 해봤는데요
역시 잘 안되는 상황이고
출발은 리눅스tv 라는 커뮤니티에서
hvr1800 장치의 드라이버를 리눅스에서 추가하는 가이드가 있어
dsm7.1 에서도 시도해볼수 있지않을까 라는 생각에서 시작이 되었습니다.
하지만 dsm7.1에서 ssh 로 접속후
modprobe , make 라는 리눅스 명령어가 되지 않아 어려움이 있는 상태입니다.
dsm7 운영체제 리눅스 커널 버젼 : 4.4.180+
인식하려는 장치 : 하우퍼지 pcie / hvr-1800 모델 (리눅스드라이버와 펌웨어 있음)
일반적으로 리눅스 4.4버젼에서 기본으로 상기 장치의 드라이버가 들어있다고
제조사에서 밝히고 있지만, dsm7에서 이 장치의 기본 모듈의 삭제되어있어 tvheadend 에서 장치인식을
못하는상태입니다.
드라이버파일이름 : cx23885-cards.c
장치 펌웨어 : v4l-cx23885-avcore-01.fw / v4l-cx23885-enc.fw
부트로더는 arpl 부트로더를 사용하고 있습니다.
부트로더에 모듈추가부분이 있는데 어떻게 하는지 몰라서
ssh 로 접속해서 dsm7 리눅스 운영체제 내 모듈경로 /lib/modules 에다가 같은위치에 hvr-1800 장치의 드라이버 (cx23885-cards.c) 와 makefile 파일을 생성후 , make 명령어로 컴파일 하여
cx23885-cards.ko 파일로 모듈을 만들어 /lib/module 에 넣는다가 저의 계획이였습니다.
하지만
dsm7 운영체제가 리눅스이지만 ssh 접속 해서 내부에서 make 명령어를 사용하거나 make 기능을 설치가불가능한것같더라구요.
그래서 별도의 우분투 리눅스 환경 6.1 버젼에서
dsm7 운영체제 (데비안) 커널 버젼으로 컴파일을 해서
모듈을 생성하려고 했습니다.
임의의 폴더에서 cx23885-cards.c 을 컴파일하여 cx23885-cards.ko 을 만드려고 했습니다
그래서 /home/사용자명/다운로드 폴더에
makefile 을 생성하여
vim makefile 편집기 내용에 4.4.180+ 커널 버젼을 넣고 컴파일을 시도해보았지만... 실패
vim Makefile 에서
사용한 명령어
obj-m += cx23885-cards.o
all:
make -C /home/aver/다운로드/4.4.180+/build M=$(PWD) modules
clean:
make -C /home/aver/다운로드/4.4.180+/build M=$(PWD) clean
아래 사진처럼 modules 를 만들 규칙이 없다고 나오고 ko 파일을 생성을 하지 못하였습니다
제가 초보라서 잘모르는데 별도의 펌웨어 파일도 있어서
/lib/firmware 에 v4l-cx23885-avcore-01.fw / v4l-cx23885-enc.fw 펌웨어를 넣으면 될까해서 넣어봐도 별 반응이 없습니다
dsm7.1 에서 탑재되지 않은 장치드라이버를 ko 파일로 컴파일하여 모듈을 추가한다는게
불가능한생각일까요 ? 어떤 다른 방법이 없을까요?
막가파로 도전해서 답답하여 고수님들의 도움을 요청드려봅니다
ㅜㅜ
그런데 우분투 22버젼에서는 아무것도 안해도 모듈에 장치드라이버가 있어
이 tv수신카드가 tvheadends 에서 자동인식되거든요
그래서...
/lib/modules 에 들어가 /6.8.0-31 커널의 기본 모듈들을 보니
dvb-frontends
dvb-core
이 모듈이 장치를 인식되게 하는것 같습니다
그래서 이 모듈을 복사하여 dsm7.1 에 모듈을 추가하려고 생각해보니까
현재 이 모듈이 우분투 22버젼의 리눅스 6.8.0 커널 버젼으로 컴파일되어있고
모듈의 확장자도 dvb-core.ko.zst 라는 zst확장자로 되어있어
리눅스 4.4버젼커널의 dsm7.1운영체제에서는
커널벼젼도 다르니 인식이 안될것 같고 확장자도 틀리고...
제가 출발이 잘못된건지
dsm7.1 에서 사용할
이 장치의 드라이버파일을 어떻게든 컴파일 하여
dsm7.1에 arpl이나 운영체제 내부에 모듈을 수동으로 추가할수 있는방법이 별도로 있는지
맨땅에 헤딩하고 있는데
고수님들의 생각이 궁금합니다.
cmt alert