기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
리눅스 보드에 usb를 연결한후 lsusb를 하면 연결된 장치목록이 추가되어 있는것을 확인 할 수있습니다.
usb의 bus, device 번호가 나오는데 해당 연결된 bus, device 번호에 맞는 노드파일을 생성해볼려고 하니 잘 안되더라구요
usb_probe() 함수에서 장치 인식을 하여 bus, device번호를 얻은후에
/dev/bus/usb/(bus-Num)/(debice_num) 만 동적으로 생성 삭제만 해주면 되는 시나리오 인데 잘 생각보다 잘 안됩니다;;
claass_create() 함수를 이용해서 디바이스 노드 파일을 생성시켜보긴했는데요
/dev/ 폴더의 상위폴더에만 생성이 되고 더 깊이 있는폴더(/dev/bus/usb) 이렇곳에서는 생성이 안되더라구요
경로를 /dev/bus/usb/xxxx 이렇게 잡고 class_create()를 써서 실행시키면 /dev/xxxx 이렇게 노드파일이 생성이 됩니다..;;
usb 노드파일에 보면 메이져번호는 189로 정해져있고 마이너는 임의로 이어서 할당하거나 제가 메이져/마이너 지정해도
생성/삭제가 잘 되면 상관없을것 같은데요
usb 노드파일 동적으로 생성하는 함수? 나 방법좀 알려주시면 감사하겠습니다
좀더 찾아보니
보드에 udev를 포팅하여 rues 파일을 생성하여 하면 된다는것 같기도한데 맞는방법인가요? 일단 이방법으로 테스트 해볼려고 합니다.