Bluetooth Module로 PSKEY 전달 및 리셋 # bccmd -t bcsp -d /dev/ttyS4 -b 115200 psload -r /root/my.psr Loading PSKEY_PCM_CONFIG32 ... done Loading PSKEY_USE_OLD_BCSP_LE ... done Loading PSKEY_PCM_CVSD_USE_NEW_FILTER ... done Loading PSKEY_PCM_FORMAT ... done Loading PSKEY_CODEC_OUT_GAIN ... done Loading PSKEY_CODEC_IN_GAIN ... done Loading PSKEY_PCM_LOW_JITTER_CONFIG ... done Loading PSKEY_HOSTIO_SCO_PCM_THRESHOLDS ... done Loading PSKEY_HOSTIO_SCO_HCI_THRESHOLDS ... done Loading PSKEY_HOSTIO_MAP_SCO_PCM_SLOT ... done Loading PSKEY_UART_BAUDRATE ... done Loading PSKEY_UART_CONFIG_BCSP ... done Loading PSKEY_UART_CONFIG_H4 ... done Loading PSKEY_UART_CONFIG_H5 ... done Loading PSKEY_UART_CONFIG_USR ... done Loading PSKEY_UART_TX_CRCS ... done Loading PSKEY_UART_ACK_TIMEOUT ... done Loading PSKEY_UART_TX_MAX_ATTEMPTS ... done Loading PSKEY_UART_TX_WINDOW_SIZE ... done Loading PSKEY_UART_HOST_WAKE ... done Loading PSKEY_HOSTIO_THROTTLE_TIMEOUT ... done Loading PSKEY_PCM_ALWAYS_ENABLE ... done Loading PSKEY_UART_HOST_WAKE_SIGNAL ... done Loading PSKEY_UART_CONFIG_H4DS ... done Loading PSKEY_H4DS_WAKE_DURATION ... done Loading PSKEY_H4DS_MAXWU ... done Loading PSKEY_H4DS_LE_TIMER_PERIOD ... done Loading PSKEY_H4DS_TWU_TIMER_PERIOD ... done Loading PSKEY_H4DS_UART_IDLE_TIMER_PERIOD ... done Loading 0x01e5 ... done Loading 0x01eb ... done Loading 0x01ec ... done Loading 0x01ed ... done Loading 0x01f0 ... done Loading PSKEY_ANA_FTRIM ... done Loading PSKEY_WD_TIMEOUT ... done Loading PSKEY_WD_PERIOD ... done Loading PSKEY_HOST_INTERFACE ... done Loading PSKEY_HQ_HOST_TIMEOUT ... done Loading PSKEY_HQ_ACTIVE ... done Loading PSKEY_BCCMD_SECURITY_ACTIVE ... done Loading PSKEY_ANA_FREQ ... done Loading PSKEY_PIO_PROTECT_MASK ... done Loading PSKEY_STUB ... done Loading PSKEY_TXRX_PIO_CONTROL ... done Loading PSKEY_ANA_RX_LEVEL ... done Loading PSKEY_ANA_RX_FTRIM ... done Loading PSKEY_PSBC_DATA_VERSION ... done Loading PSKEY_PCM0_ATTENUATION ... done Loading PSKEY_LO_LVL_MAX ... done Loading PSKEY_LO_ADC_AMPL_MIN ... done Loading PSKEY_LO_ADC_AMPL_MAX ... done Loading PSKEY_IQ_TRIM_CHANNEL ... done Loading PSKEY_IQ_TRIM_GAIN ... done Loading PSKEY_TX_OFFSET_HALF_MHZ ... done Loading PSKEY_GBL_MISC_ENABLES ... done Loading PSKEY_UART_SLEEP_TIMEOUT ... done Loading PSKEY_DEEP_SLEEP_STATE ... done Loading 0x022b ... done Loading 0x022c ... done Loading PSKEY_IQ_ENABLE_PHASE_TRIM ... done Loading PSKEY_HCI_HANDLE_FREEZE_PERIOD ... done Loading PSKEY_MAX_FROZEN_HCI_HANDLES ... done Loading PSKEY_PAGETABLE_DESTRUCTION_DELAY ... done Loading PSKEY_IQ_TRIM_PIO_SETTINGS ... done Loading PSKEY_USE_EXTERNAL_CLOCK ... done Loading PSKEY_DEEP_SLEEP_WAKE_CTS ... done Loading PSKEY_FC_HC2H_FLUSH_DELAY ... done Loading PSKEY_RX_HIGHSIDE ... done Loading PSKEY_TX_PRE_LVL ... done Loading PSKEY_RX_SINGLE_ENDED ... done Loading PSKEY_TX_FILTER_CONFIG ... done Loading PSKEY_CLOCK_REQUEST_ENABLE ... done Loading PSKEY_RX_MIN_ATTEN ... done Loading PSKEY_XTAL_TARGET_AMPLITUDE ... done Loading PSKEY_PCM_MIN_CPU_CLOCK ... done Loading PSKEY_CPU_IDLE_MODE ... done Loading PSKEY_DEEP_SLEEP_CLEAR_RTS ... done Loading PSKEY_RF_RESONANCE_TRIM ... done Loading PSKEY_DEEP_SLEEP_PIO_WAKE ... done Loading PSKEY_MODULE_ID ... done Loading PSKEY_MODULE_DESIGN ... done Loading PSKEY_VM_DISABLE ... done Loading PSKEY_DUT_VM_DISABLE ... done Loading PSKEY_USB_VERSION ... done Loading PSKEY_USB_DEVICE_CLASS_CODES ... done Loading PSKEY_USB_VENDOR_ID ... done Loading PSKEY_USB_PRODUCT_ID ... done Loading PSKEY_USB_ATTRIBUTES ... done Loading PSKEY_USB_MAX_POWER ... done Loading PSKEY_USB_BT_IF_CLASS_CODES ... done Loading PSKEY_USB_LANGID ... done Loading PSKEY_USB_DFU_CLASS_CODES ... done Loading PSKEY_USB_DFU_PRODUCT_ID ... done Loading PSKEY_USB_PIO_PULLUP ... done Loading PSKEY_USB_PIO_WAKE_TIMEOUT ... done Loading PSKEY_USB_BT_SCO_IF_CLASS_CODES ... done Loading PSKEY_USB_SUSPEND_PIO_LEVEL ... done Loading PSKEY_USB_SUSPEND_PIO_DIR ... done Loading PSKEY_USB_SUSPEND_PIO_MASK ... done Loading PSKEY_USB_ENDPOINT_0_MAX_PACKET_SIZE ... done Loading PSKEY_USB_CONFIG ... done Loading 0x02fc ... done Loading PSKEY_RADIOTEST_ATTEN_INIT ... done Loading PSKEY_RADIOTEST_FIRST_TRIM_TIME ... done Loading PSKEY_RADIOTEST_SUBSEQUENT_TRIM_TIME ... done Loading PSKEY_RADIOTEST_LO_LVL_TRIM_ENABLE ... done Loading PSKEY_RADIOTEST_DISABLE_MODULATION ... done Loading PSKEY_MDNS_PORT ... done Loading PSKEY_MDNS_TTL ... done Loading PSKEY_MDNS_IPV4_ADDR ... done Loading PSKEY_ARP_CACHE_TIMEOUT ... done Loading PSKEY_SLOW_CLOCK_FILTER_DIVIDER ... done Loading PSKEY_SLOW_CLOCK_FILTER_SHIFT ... done Loading PSKEY_LO_VCO_STANDBY ... done Loading PSKEY_LO_DIV_LATCH_BYPASS ... done Loading PSKEY_MR_TX_IF_ATTEN_OFF_TEMP ... done Loading PSKEY_PIO_WAKEUP_STATE ... done Loading PSKEY_ANALOGUE_ATTENUATOR ... done Loading PSKEY_TX_PRE_LVL_CLASS1 ... done Loading PSKEY_RX_MR_EQ_TAPS ... done Loading PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_PAYLOAD ... done Loading PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_HEADER ... done Loading PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL_MR ... done Loading PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA_CLASS1 ... done Loading PSKEY_CLASS1_TX_CONFIG2 ... done Loading PSKEY_CLASS1_IQ_LVL ... done Loading PSKEY_UART_CONFIG2 ... done Loading PSKEY_MR_PIO_CONFIG ... done Loading PSKEY_TX_AVOID_PA_CLASS1_PIO ... done Loading PSKEY_TRANSMIT_OFFSET_CLASS1 ... done Loading PSKEY_CLOCK_REQUEST_FEATURES ... done Loading PSKEY_CHARGER_TRIM ... done Loading PSKEY_LC_USE_THROTTLING ... done Loading PSKEY_USB_DONT_RESET_BOOTMODE_ON_HOST_RESET ... done Loading PSKEY_MR_TX_CONFIG2 ... done Loading PSKEY_MR_TX_FILTER_CONFIG ... done Loading PSKEY_I2C_CONFIG ... done Loading PSKEY_MR_ANA_RX_FTRIM ... done Loading PSKEY_USB_VM_CONTROL ... done Loading PSKEY_TRIM_RADIO_FILTERS ... done Loading PSKEY_DEEP_SLEEP_USE_EXTERNAL_CLOCK ... done Loading PSKEY_SCHED_THROTTLE_TIMEOUT ... done Loading PSKEY_RSSI_CORRECTION ... done Loading PSKEY_MIN_WAIT_STATES ... done Loading PSKEY_SYNTH_TXRX_THRESHOLDS ... done Loading PSKEY_RX_ATTEN_UPDATE_RATE ... done Loading PSKEY_RX_ATTEN_BACKOFF ... done Loading PSKEY_ONCHIP_HCI_CLIENT ... done Loading PSKEY_RADIOTEST_CDMA_LO_REF_LIMITS ... done Loading PSKEY_RF_TRAP_BAD_DIVISION_RATIOS ... done Loading PSKEY_TEST_FORCE_OFFSET ... done Loading PSKEY_RX_DYNAMIC_LVL_OFFSET ... done Loading PSKEY_TEST_DELTA_OFFSET ... done Loading PSKEY_TEMPERATURE_VS_DELTA_TX_BB ... done Loading PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL ... done Loading PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA ... done Loading PSKEY_TEMPERATURE_CALIBRATION ... done Loading PSKEY_DEEP_SLEEP_CORRECTION_FACTOR ... done Loading PSKEY_CLOCK_STARTUP_DELAY ... done Loading PSKEY_CDMA_LO_ERROR_LIMITS ... done Loading PSKEY_CDMA_LO_REF_LIMITS ... done Loading PSKEY_LOOP_FILTER_TRIM ... done Loading 0x044d ... done Loading 0x044e ... done Loading 0x044f ... done Loading 0x0450 ... done Loading 0x0451 ... done Loading 0x0452 ... done Loading 0x0453 ... done Loading 0x0455 ... done Loading 0x0456 ... done Loading 0x0457 ... done Loading 0x0458 ... done Loading 0x0459 ... done Loading 0x045a ... done Loading 0x215e ... done Loading 0x2160 ... done Loading 0x2161 ... done Loading 0x2162 ... done Loading 0x216e ... done Loading 0x2192 ... done Loading 0x21b6 ... done Loading 0x21b8 ... done Loading 0x21b9 ... done Loading 0x21bd ... done Loading 0x21c0 ... done Loading 0x21cd ... done Loading 0x21ce ... done Loading 0x21d3 ... done Loading 0x21d5 ... done Loading 0x21d8 ... done Loading 0x21da ... done Loading 0x21df ... done Loading 0x2433 ... done Loading 0x2434 ... done Bluetooth Device 확인 # hciconfig Bluetooth Device 를 kernel에 붙인다. # hciattach -n -s 115200 /dev/ttyS4 bcsp 115200 & Device setup complete Bluetooth: Out-of-order packet arrived, got 1 expected 0 Bluetooth Device 확인 # hciconfig -a hci0: Type: Primary Bus: UART BD Address: 00:18:9A:26:93:23 ACL MTU: 620:5 SCO MTU: 64:8 DOWN RX bytes:891 acl:0 sco:0 events:23 errors:0 TX bytes:705 acl:0 sco:0 commands:22 errors:0 Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Bluetooth Device 가 정지 상태이므로 동작상태로 전환 # hciconfig hci0 up Bluetooth: Out-of-order packet arrived, got 1 expected 0 Device setup complete # hciconfig -a hci0: Type: Primary Bus: UART BD Address: 00:18:9A:26:93:23 ACL MTU: 620:5 SCO MTU: 64:8 UP RUNNING RX bytes:1754 acl:0 sco:0 events:45 errors:0 TX bytes:1404 acl:0 sco:0 commands:45 errors:0 Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'CSR - bc4' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 2.1 (0x4) Revision: 0x1899 LMP Version: 2.1 (0x4) Subversion: 0x1899 Manufacturer: Cambridge Silicon Radio (10) Bluetooth Device 를 Scan 가능하도록 설정 # hciconfig hci0 piscan # hciconfig -a hci0: Type: Primary Bus: UART BD Address: 00:18:9A:26:93:23 ACL MTU: 620:5 SCO MTU: 64:8 UP RUNNING PSCAN ISCAN RX bytes:2102 acl:0 sco:0 events:49 errors:0 TX bytes:1504 acl:0 sco:0 commands:51 errors:0 Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'CSR - bc4' Class: 0x000000 Service Classes: Unspecified Device Class: Miscellaneous, HCI Version: 2.1 (0x4) Revision: 0x1899 LMP Version: 2.1 (0x4) Subversion: 0x1899 Manufacturer: Cambridge Silicon Radio (10) Bluetooth demon 실행 # bluetoothd -n & # bluetoothd[225]: Bluetooth daemon 4.101 bluetoothd[225]: Starting SDP server bluetoothd[225]: DIS cannot start: GATT is disabled bluetoothd[225]: Failed to init deviceinfo plugin bluetoothd[225]: Failed to init proximity plugin bluetoothd[225]: Failed to init time plugin bluetoothd[225]: Failed to init alert plugin bluetoothd[225]: Failed to init thermometer plugin bluetoothd[225]: Parsing /etc/bluetooth/input.conf failed: No such file or directory bluetoothd[225]: Parsing /etc/bluetooth/audio.conf failed: No such file or directory bluetoothd[225]: Failed to init gatt_example plugin bluetoothd[225]: Bluetooth Management interface initialized bluetoothd[225]: Failed to open RFKILL control device bluetoothd[225]: Parsing /etc/bluetooth/serial.conf failed: No such file or directory bluetoothd[225]: Could not get the contents of DMI chassis type bluetoothd[225]: input-headset driver probe failed for device 24:DB:ED:F2:53:4F bluetoothd[225]: Adapter /org/bluez/225/hci0 has been enabled bluetoothd[225]: hci0: Load Long Term Keys (0x0013) failed: Not Supported (0x0c) 현재 BT Module 상태확인 # bt-adapter -i [hci0] Name: VI-0 [rw] Address: 00:18:9A:26:93:23 Class: 0x0 Discoverable: 1 [rw] DiscoverableTimeout: 0 [rw] Discovering: 0 Pairable: 1 [rw] PairableTimeout: 0 [rw] Powered: 1 [rw] UUIDs: [ServiceDiscoveryServer, BrowseGroupDescriptor, HeadsetAudioGateway, HandsfreeAudioGateway, AVRemoteControlTarget, AVRemoteControl] PANU 동작이 없으므로 추가 # sdptool add PANU PANU service registered # bt-adapter -i [hci0] Name: VI-0 [rw] Address: 00:18:9A:26:93:23 Class: 0x0 Discoverable: 1 [rw] DiscoverableTimeout: 0 [rw] Discovering: 0 Pairable: 1 [rw] PairableTimeout: 0 [rw] Powered: 1 [rw] UUIDs: [ServiceDiscoveryServer, BrowseGroupDescriptor, HeadsetAudioGateway, HandsfreeAudioGateway, AVRemoteControlTarget, AVRemoteControl, PANU] NAP 동작하는 주위의 BT 확인 # bt-adapter -d Searching... bluetoothd[225]: Discovery session 0x7f5fb080 with :1.11 activated [24:DB:ED:F2:53:4F] Name: SM-N750K Alias: SM-N750K Address: 24:DB:ED:F2:53:4F Icon: phone Class: 0x5a020c LegacyPairing: 0 Paired: 1 RSSI: -70 [F4:06:69:56:B1:47] Name: (null) Alias: F4-06-69-56-B1-47 Address: F4:06:69:56:B1:47 Icon: computer Class: 0x12010c LegacyPairing: 0 Paired: 0 RSSI: -83 bluetoothd[204]: Unknown command complete for opcode 37 [00:18:9A:07:DC:7A] Name: (null) Alias: 00-18-9A-07-DC-7A Address: 00:18:9A:07:DC:7A Icon: computer Class: 0x420100 LegacyPairing: 0 Paired: 0 RSSI: -73 bluetoothd[204]: Unknown command complete for opcode 37 Done NAP 과 연결 및 Pairing # bt-device -c 00:18:9A:07:DC:7A Connecting to: 00:18:9A:07:DC:7A Device: VI-0 (00:18:9A:07:DC:7A) Access Bluetooth Address File Fail to Read Bluetooth Address File Address :00515194(0x0007dc7a) PIN code:11278784 bluetoothd[204]: input-headset driver probe failed for device 00:18:9A:07:DC:7A Done # Network Connection을 생성한다. #bt-network -c 00:18:9A:07:DC:7A nap & Network service is connected bluetoothd[204]: bnep0 connected Interface: bnep0 UUID: NAP (00001116-0000-1000-8000-00805f9b34fb) # Network 생성확인 ifconfig bnep0 Link encap:Ethernet HWaddr 00:18:9A:26:93:23 inet6 addr: fe80::218:9aff:fe26:9323/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:13 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:315 (315.0 B) TX bytes:858 (858.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) IP주소를 가져 오거나 수동 설정 한다. DHCP를 이용한 IP 받아오기 # dhclient bnep0 Manual IP 설정 # ifconfig bnep0 add 172.16.10.2 # ifconfig bnep0 Link encap:Ethernet HWaddr 00:18:9A:26:93:23 inet addr:172.16.10.2 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::218:9aff:fe26:9323/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:319 (319.0 B) TX bytes:1040 (1.0 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Network 생성확인 # ifconfig bnep0 Link encap:Ethernet HWaddr 00:18:9A:26:93:23 inet6 addr: fe80::218:9aff:fe26:9323/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:182 (182.0 B) TX bytes:663 (663.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 외부와의 Network 연결을 위한 Gateway 설정 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.0.0 * 255.255.0.0 U 0 0 0 bnep0 # route add default gw 172.16.10.1 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 172.16.10.1 0.0.0.0 UG 0 0 0 bnep0 172.16.0.0 * 255.255.0.0 U 0 0 0 bnep0 # NAP(BT-AP)으로의 Local Address Ping Test # ping 172.16.10.1 PING 172.16.10.1 (172.16.10.1): 56 data bytes 64 bytes from 172.16.10.1: seq=0 ttl=64 time=51.988 ms 64 bytes from 172.16.10.1: seq=1 ttl=64 time=69.315 ms 64 bytes from 172.16.10.1: seq=2 ttl=64 time=62.093 ms 64 bytes from 172.16.10.1: seq=3 ttl=64 time=57.377 ms ^C --- 172.16.10.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 51.988/60.193/69.315 ms # NAP(BT-AP)으로의 외부 Address Ping Test # ping 192.168.28.28 PING 192.168.28.28 (192.168.28.28): 56 data bytes 64 bytes from 192.168.28.28: seq=0 ttl=64 time=97.868 ms 64 bytes from 192.168.28.28: seq=1 ttl=64 time=69.902 ms 64 bytes from 192.168.28.28: seq=2 ttl=64 time=56.526 ms ^C --- 192.168.28.28 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 56.526/74.765/97.868 ms # 외부 Network 으로의 Ping Test # ping 192.168.28.100 PING 192.168.28.100 (192.168.28.100): 56 data bytes 64 bytes from 192.168.28.100: seq=0 ttl=127 time=70.940 ms 64 bytes from 192.168.28.100: seq=1 ttl=127 time=54.995 ms 64 bytes from 192.168.28.100: seq=2 ttl=127 time=61.538 ms ^C --- 192.168.28.100 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 54.995/62.491/70.940 ms # 외부 Internet (Google의 DNS서버)으로의 Ping Test # ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=53 time=94.536 ms 64 bytes from 8.8.8.8: seq=1 ttl=53 time=117.943 ms 64 bytes from 8.8.8.8: seq=2 ttl=53 time=101.969 ms ^C --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 94.536/104.816/117.943 ms # /etc/network/interfaces auto lo iface lo inet loopback /etc/init.d/S40network #!/bin/sh # # Start the network.... # # Debian ifupdown needs the /run/network lock directory mkdir -p /run/network case "$1" in start) printf "Starting network: " /usr/sbin/inetd [ $? = 0 ] && echo "inetd OK" || echo "inetd FAIL" /sbin/ifup -a [ $? = 0 ] && echo "ifup OK" || echo "ifup FAIL" ;; stop) printf "Stopping network: " /sbin/ifdown -a [ $? = 0 ] && echo "OK" || echo "FAIL" ;; restart|reload) "$0" stop "$0" start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit $? /etc/init.d/S60blueZ #!/bin/sh # # Start the BlueZ.... # # Debian ifupdown needs the /run/network lock directory BT_pskey() { echo "BT Module : set PSKEY..." count=0 while [ ${count} -le 5 ]; do # /usr/sbin/bccmd -t bcsp -d /dev/ttyS4 -b 115200 psload -r /root/my.psr /root/bccmd -t bcsp -d /dev/ttyS4 -b 115200 psload -r /root/my.psr if [ $? = 0 ]; then count=10 echo "BT Module : set PSKEY - OK" else echo "BT Module : set PSKEY - FAIL" sleep 0.5 fi count=$(( ${count}+1 )) done } BT_attach() { echo "BT Module : Attach" count=0 while [ ${count} -le 5 ]; do /usr/sbin/hciattach -n -s 115200 /dev/ttyS4 bcsp 115200 & if [ $? = 0 ]; then count=10 echo "BT Module : Attach - OK" else echo "BT Module : Attach - FAIL" sleep 0.5 fi count=$(( ${count}+1 )) done } BT_up() { echo "BT Module : Start" count=0 while [ ${count} -le 5 ]; do /usr/sbin/hciconfig hci0 up if [ $? = 0 ]; then count=10 echo "BT Module : Start - OK" else echo "BT Module : Start - FAIL" sleep 0.5 fi count=$(( ${count}+1 )) done } BT_down() { echo "BT Module : Stop" count=0 while [ ${count} -le 5 ]; do /usr/sbin/hciconfig hci0 down if [ $? = 0 ]; then count=10 echo "BT Module : Stop - OK" else echo "BT Module : Stop - FAIL" sleep 0.5 fi count=$(( ${count}+1 )) done } BT_enable_scan() { echo "BT Module : Enable Scan" count=0 while [ ${count} -le 5 ]; do /usr/sbin/hciconfig hci0 piscan if [ $? = 0 ]; then count=10 echo "BT Module : Enable Scan - OK" else echo "BT Module : Enable Scan - FAIL" sleep 0.5 fi count=$(( ${count}+1 )) done } case "$1" in start) BT_pskey sleep 0.3 BT_attach sleep 0.5 BT_up sleep 0.3 BT_enable_scan # BT_down # sleep 0.3 /usr/sbin/bluetoothd -n & [ $? = 0 ] && echo "bluetoothd OK" || echo "bluetoothd FAIL" # for Handy sleep 0.5 /usr/bin/sdptool add PANU [ $? = 0 ] && echo "add PANU OK" || echo "add PANU FAIL" ;; stop) printf "Stopping BT: " killall bluetoothd [ $? = 0 ] && echo "OK" || echo "FAIL" ;; restart|reload) "$0" stop "$0" start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit $?