노키아 심비안폰과 임베디드 리눅스와의 블루투스 접속을 시도 ?

sr97의 이미지

우선 저의 글을 읽어주셔서 감사드립니다.

지금 제가 시도하고 있는것은 심비안이 탑재된 노키아 스마트 폰과 임베디드 리눅스이 탑재된 암보드(PXA255)와의 통신을 블루투스를 사용하여서 시도하고 있습니다.

노키아폰에서는 내장되어있는 블루투스 모듈을 사용하였고 (참고로 외부의 컨넥터는 없습니다..예를들면 시리얼포트와 같은...) 암보드에서는 USB bluetooth 동글(Anycom 사)을 이용하였습니다.

제가 생각한 방식은 HCI스택과 L2cap, Rfcomm 까지의 스택을 올려서 시리얼 블루투스 통신을 할려고 시도하였습니다...
rfcomm connect rfcomm0 00:0e:6d:6b:11:46
rfcomm bind 0 00:0e:6d:6b:11:46 2
rfcomm show

이와 같은 방식을 통해서 접속을 시도하였습니다.
그리고 암보드 부분에서는 HCI대몬과 SDP대몬을 올려서 돌아가도록 하였습니다.
bluez.org에서 제공하는 블루투스 라이브러리와 유틸에 관련된 부분도 포팅을 하여 적재를 하였고요.

그래서 핀코드 교환을 하고 접속을 이루어졌습니다.
심비안 폰에서 블루투스 어플에 인증만 할수 있는 부분이 있습니다.
그래서 노키아폰에있는 BTP2P(BlueTooth-Peer To Peer)를 이용하여서 시도를 하면은 컨넥팅 오류가 뜹니다.
데이터의 전송이 되니 받겠느냐는 메세지도 뜹니다(노키아폰에서)
echo "test BTP2P" > /dev/rfcomm0

그래서 확인버튼을 누르면 폰에서 오류가 뜹니다..

그래서 PPP를 이용한 방법을 생각해서 PPPd를 포팅해서 시도했지만 나중에 알고보니 폰에서는 PPPd를 이용한 방식을 지원하지 않더라구요..

참고로 폰과의 윈도우와의 데이터의 전송을 확인하였습니다.

혹시 제가 접근 방법이 아에 틀린건가요? 만약에 그렇다면 어떤 방법이 좋을까요?

고수님 여러분의 조언을 부탁드립니다.

아래와 같이 밑에 부분에서는 LP와 LM.. 등을 설정하였습니다.
==================================================================
root@ez-x5 /root]$ hciconfig -a
hci0: Type: USB
BD Address: 00:0B:0D:20:E9:2A ACL MTU: 339:4 SCO MTU: 64:0
UP RUNNING PSCAN ISCAN
RX bytes:5110 acl:124 sco:0 events:124 errors:0
TX bytes:1056 acl:32 sco:0 commands:48 errors:1
Features: 0xff 0xff 0x3d 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'PPT REDZ..'
Class: 0x001101
Service Classes: Unspecified
Device Class: 16 bit, Unknown (reserved) minor device class
HCI Ver: 1.1 (0x1) HCI Rev: 0x93 LMP Ver: 1.1 (0x1) LMP Subver: 0x93
Manufacturer: Transilica, Inc. (24)
============================================================

심비안 폰에서 제공되는 프로파일 서비스는 이와 같습니다.

============================================================
[root@ez-x5 /root]$ sdptool browser 00:0e:6d:6b:11:46
Browsing 00:0E:6D:6B:11:46 ...
Service Name: OBEX Object Push
Service RecHandle: 0x10004
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 9
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100

Service Name: Bluetooth Serial Port
Service Description: Bluetooth Serial Port
Service Provider: Symbian Ltd.
Service RecHandle: 0x10008
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Service Name: Fax
Service RecHandle: 0x1001a
Service Class ID List:
"Fax" (0x1111)
"Generic Telephony" (0x1204)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Fax" (0x1111)
Version: 0x0100

Service Name: Dial-up Networking
Service RecHandle: 0x1001b
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Service Name: OBEX File Transfer
Service RecHandle: 0x1001c
Service Class ID List:
"OBEX File Transfer" (0x1106)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100

Service Name: Handsfree Audio Gateway
Service RecHandle: 0x1001d
Service Class ID List:
"" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x111e)
Version: 0x0101
==================================================================

익명사용자의 이미지

암보드에서는 USB bluetooth 동글(Anycom 사)을 이용하셨다고 했는데

리눅스용 USB동글 드라이버는 어떻게 구하신건가요?

리눅스 커널에 이미 존재하는건가요?

시리얼 동글은 붙여봤는데 /dev/ttySAC1 노드로 hciattach 하여 사용했거든요.

USB 동글은 노드를 어떤걸 사용하는지 궁금하네요?

bestyt의 이미지

노키아의 rfcomm 채널 몇번에 붙이셨어요?

지금보니 SPP는 2번인듯한데요.
나머지것들(OPP, FTP, DUN, HFP, FAX)은 rfcomm연결이 성공되고나서 뒤에 정의된 protocol에 따라 접속절차가 더있습니다.

rfcomm연결 2번으로 해보세요.
혹시나 여전히 연결에러나면 멀린II나 FTS장비가 가장확실하나,
kernel단에서 debug log다 풀고 kernel이미지 만들고 로그 올려봐 주세요.

"참고로 폰과의 윈도우와의 데이터의 전송을 확인하였습니다."
-> 윈도에서 SPP연결해서 application띄워서 시리얼통신 해보았다는 말씀이신가요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.