기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

 

Wifi(무선LAN)가 장착된 PC에서는 어떤 Linux 배포판을 install하더라도,

일단, 배포판이 PC에 장착한 Wifi(무선LAN) device driver만 제공한다면, 항상 잘 동작합니다.

그리고, Wifi 관련 utility(ex: iwconfig / iwlist / iwpriv /…)도 모든 배포판에서 작 동작합니다.

, APP kernel(driver)간에 공통된 interface API를 사용하여 동작하는 것으로 추정합니다.

위의 동작원리는 임베디드 리눅스도 마찬가지로 생각합니다.

 

그러나, 일반(정통) 임베디드 리눅스가 아닌, android가 탑재된 임베디드 시스템의 경우는

Wifi Chip maker(or 모듈 maker)마다 android을 수정해야 합니다.

그리고, 위와 같은 일반적인 utility(ex: iwconfig / iwlist / iwpriv /…)를 사용하는 것이 아니라,

Wifi chip maker에서 전용으로 제공하는 utility를 사용하기도 하더군요

(브로드컴사의 칩셋의 경우는 wl or bcmtool이라는 utility를 사용하더군요…)

개발자 입장에서는 PC나 일반 임베디드리눅스처럼

일관(통일)된 방법, 일관된 interface, 일관된 utility를 사용하면 참 좋을 것 같은데요

 

android에서는 왜 일관된 방법을 사용하지 않고,

chip(모듈) maker마다 다르게 포팅을 해야 하는지요 ?

이렇게 chip maker마다 방법이 다르다면,

chip maker의 지원이 없다면 아무리 뛰어난 개발자라도 wifi의 포팅은 불가능한가요 ?

 


고도리

2013.04.14 18:45:21
*.200.239.210

1. SDIO로 사용하는 경우가 많으나, 연결 핀들이 서로 틀립니다. ex> power management

2. 전원관리 등 여러가지 특수 function을 제어하기 위해서 틀리고요.

3. android가 wpa_supplicant를 사용하기 때문에 그렇기도 합니다......


4. wireless extension만 써 주면 좋은데, 거기에 자기네 기능을 좀 더 많이 넣다보니 case by case입니다.

5. module maker의 지원없이 포팅은 가능하지만, 한계가 있습니다.

반드시 무선관련 제품은 모듈 maker 혹은 chip vendor의 지원이 있어야 합니다.


참고로 예전 중국서 폰을 만들었는데 chip vendor의 기술지원 문제로 양산이 불가능했던 적도 있었습니다.

특정 chip vendor의 경우 module maker가 아니라 chip maker의 지원이 필요한 경우가 있더군요.


참고로, android에서는 그나마 나름 표준적인 방법을 제공하나, wifi/bt 등이 엮이면서 각 vendor들이 자기네 stack을 넣기 시작하면서 좀 이상하게 되었습니다.


그 선두에 broadcom이 서 있는 편이라고 보여지더군요. 근래 bludroid인가 먼가를 보니....

고도리

2013.04.14 18:47:02
*.200.239.210

덧붙여서....chip vendor가 wireless extension을 지원하지 않는 경우도 있습니다.

전성진

2013.04.16 19:04:06
*.167.46.10

정확하지는 않지만 Android에서는 ICS에 부터 Wireless Extension 대신에 NL80211을 사용하기 시작했습니다. 

android는 wpa_supplicant를 이용하는 데, Wi-Fi Direct(P2P)와 같은 기능이 추가되면서 nl80211을 이용하기 시작한것 같습니다. nl80211도 WE처럼 표준인터페이스여서 iw 와 같은 utility로 기본적인 scan, association등은 가능합니다. 

Chip vendor에서 nl80211가 같은 기본 인터페이스로 동작은 하지만 고도리님께서 말씀하신 것처럼 Power management나 p2p 관련 처리등을 위해 vendor별로 틀리게 작업하므로 chip vendor의 지원이 없으면 사실상 불가한것으로 보입니다. 


제 견해로는 android는 Wi-Fi 관련해서 Wi-Fi Framework. Wi-Fi HAL, wpa_supplicant와 같이 일관되게 동작하나 그 아래 wpa_supplicant 드라이버 아래 부터는 chip vendor에 의한 부분이므로 chip vendor별로 달라지는 것 같습니다. 


List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5808 libusb 보드에서 드라이버 인식 [1] pedor11 2014-01-29 1850
5807 S3C6410에 Micro SD를 쓰는데 에러 발생 윤상인 2013-12-05 1849
5806 S5PC100 Win8 64bit USB Driver [1] jackson 2014-04-23 1849
5805 fpu가 들어있는 arm 은 어떤것이 있을까요? [4] 성진호 2009-02-26 1848
5804 디바이스드라이버 등록하는 방법 [2] 갱고 2011-12-16 1847
5803 android 바탕화면뜨지않는현상 [2] 정대현 2010-03-11 1846
5802 ethernet 초기화 [1] 권오혁 2013-04-20 1846
5801 arndale 소스 코드 다운로드 [2] alexyoon 2013-04-17 1844
5800 정전식 터치 패널 문제 [1] 정창환 2020-03-24 1844
5799 platform_driver? platform_device? 박수민 2009-06-26 1841
5798 WiFi 채널 간섭 문제 [9] 신현호 2014-05-17 1841
5797 fs mount시 질문이요... <==완료 [2] 윤현승 2006-04-20 1840
5796 OrigenBoard WiFi Error 발생 문의 [2] 엉뚱 2012-01-12 1840
5795 Nexus 10 Full Source Code ??? [2] Simba444 2013-05-25 1838
5794 streamline을 이용해 arndale 보드의 mali-t604를 profiling하려고 합... file [2] 김영준 2013-08-01 1838
5793 임베디드 리눅스 어플에서 sd 카드 삽입시 인식하는 방법 [2] 장트러블탄 2011-12-01 1837
5792 frame buffer layer에 관해서 여쭙니다. [2] 김경식 2012-02-18 1836
5791 I2C와 I2S에 관해 질문이 있습니다. [5] bfvconfidenc 2012-09-13 1834
5790 /dev/tty* 의 숫자들을 줄일수 있나요?? file [2] xoduddk123 2014-03-14 1830
5789 yaffs2 fs를 gang으로 nand write 질문 [2] 최승훈 2011-08-13 1827

사용자 로그인