Recently I bought CC2564MODNEM module and connected it to intel edison board with yocto onboard. There is 5.28 version of bluez installed.
I connected module to my board, powered it, and pulled nSHUTD up to enable communication.
then I issued command:
root@jrdltd:/proc# hciattach /dev/ttyMFD1 texas 115200
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/ti-connectivity/TIInit_6.7.16.bts
Loaded BTS script version 1
texas: changing baud rate to 115200, flow control to 1
Can't set device: Protocol not supported
Can't initialize device: Protocol not supported
I tried using initscripts_TIInit_6.7.16_bt_spec_4.0.bts and also initscripts_TIInit_6.7.16_bt_spec_4.1.bts - for both files the result looks the same.
Also, I am wondering how to load second script ( initscripts_TIInit_6.7.16_ble_add-on.bts ) if hciattach only loads one file.
Here is the strace of the command:
root@jrdltd:/proc# strace hciattach /dev/ttyMFD1 texas 115200
execve("/usr/bin/hciattach", ["hciattach", "/dev/ttyMFD1", "texas", "115200"], [/* 17 vars */]) = 0
brk(0) = 0x9684000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb771a000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=22336, ...}) = 0
mmap2(NULL, 22336, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7714000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\267\241H4\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1524312, ...}) = 0
mmap2(0x48a02000, 1530396, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x48a02000
mprotect(0x48b71000, 4096, PROT_NONE) = 0
mmap2(0x48b72000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16f000) = 0x48b72000
mmap2(0x48b75000, 10780, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x48b75000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7713000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7713700, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x48b72000, 8192, PROT_READ) = 0
mprotect(0x489f5000, 4096, PROT_READ) = 0
munmap(0xb7714000, 22336) = 0
rt_sigaction(SIGALRM, {0x804a190, [], SA_NOCLDSTOP}, NULL, 8) = 0
alarm(10) = 0
open("/dev/ttyMFD1", O_RDWR|O_NOCTTY) = 3
ioctl(3, TCFLSH, 0x2) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCFLSH, 0x2) = 0
write(3, "\1\1\20\0", 4) = 4
read(3, "\4", 1) = 1
read(3, "\16\f", 2) = 2
read(3, "\1\1\20\0\6\0\0\6\r\0\220\33", 12) = 12
write(2, "Found a Texas Instruments' chip!"..., 33Found a Texas Instruments' chip!
) = 33
write(2, "Firmware file : /lib/firmware/ti"..., 64Firmware file : /lib/firmware/ti-connectivity/TIInit_6.7.16.bts
) = 64
brk(0) = 0x9684000
brk(0x96a5000) = 0x96a5000
open("/lib/firmware/ti-connectivity/TIInit_6.7.16.bts", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=8945, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7719000
read(4, "BTSB\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
write(2, "Loaded BTS script version 1\n", 28Loaded BTS script version 1
) = 28
write(3, "\0016\377\4\0\302\1\0", 8) = 8
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\0016\377\0", 4) = 4
write(2, "texas: changing baud rate to 115"..., 55texas: changing baud rate to 115200, flow control to 1
) = 55
ioctl(3, TCFLSH, 0x2) = 0
ioctl(3, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCFLSH, 0x2) = 0
ioctl(3, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
write(3, "\1\3\377\0061O\10\0\1\0", 10) = 10
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\3\377\0", 4) = 4
write(3, "\0017\376\2\7\20", 6) = 6
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\0017\376\0", 4) = 4
write(3, "\1\5\377\377\320b\10\0\372\7\20G\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\312c\10\0\372(5\0016\2.\330\323\0\230D`\10H30\0\220\377\275\300F\255"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\304d\10\0\372\235w&K\313a\t#\223p%J\nb\n\"\242w$JJb\v"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\276e\10\0\372\246F\344J\376D\20G\0(\f\324\343H\0x\4(\10\321\342H\0"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\270f\10\0\372\206F\330H\376D\0G\2 \240p\326H\3120(b0\275\370\265\6"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\262g\10\0\372\"\335hqp\275(x\0(\35\321\340N0\34\1$\246F\337I\376"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\254h\10\0\372\226F\334J\376D\20G\2 0U\332I\227 \300\0@\30(bp"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\246i\10\0\372\30\30\20\275\300FP\27\10\0\0\4\32\0\265\365\4\0\371\25\5\0\331"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\240j\10\0\372\207m\10\0)n\10\0\360\265\7\34\271iHx\376i\2\37;\320!"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
read(4, "\25q\10\0\255\231\0\0\370\265\340H\0\210\300\10\337L\"\210\350I\212B9\320\350I\tx\3)"..., 4096) = 4096
write(3, "\1\5\377\377\232k\10\0\372 b\20\275\300Fi}\2\0\362b\10\0\223\344\4\0..\10\0000"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\224l\10\0\372\0\222\323J\267B\21\321vF6\0066\26^CgF>A\0-\4"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\216m\10\0\372\1 \206F\241H\376D\0G\240I\10`\215H\4\200D\200\20\275\315"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\210n\10\0\372\0Gx\275\373O\10\0\211\221\4\0a\336\0\0\360\265\207\260\6\220k"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\202o\10\0\3720\34\0228\304Q\10 \300\31\4!\256F3J\376D\20G\263 \300"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377|p\10\0\372\221B\7\320@i@0,!\1\"\226F\350J\376D\20G\347H+"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377vq\10\0\372d \246F\337I\376D\10Gh\36\5\6-\16!\340d \1!\216"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377pr\10\0\372`\212\0018`\202\0 \313I\10`\1 \206F\316H\376D\0Gh"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377js\10\0\372\10C\246L\n\320\0 \243I\10p\1 \206F\242H\376D\0G "..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377dt\10\0\372\256FsI\376D\10G\0x\250!ACqHG\\8\34\256Fp"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377^u\10\0\372DJ\376D\20G\1\34CH\246FCJ\376D\20GBH;0\370"..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\313Xv\10\0\306y\225\1\0)\331\0\0\21\336\2\0\24T\10\0\347Y\5\0\"`\32"..., 207) = 207
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\215x{\10\0\210\0\265\370\360A\372\0\275wp\10\0\251r\10\0\7r\10\0007r\10"..., 145) = 145
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\205\4\363\32\0\200\36\215\0\0,#\3\0:\337\2\0:\32\2\0d\206\2\0\350(\5"..., 137) = 137
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377\377\0\0\30\0\372\360\265@N\7\"2p\20#spG \260p\32 \360p\3%("..., 259) = 259
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\5\377s\372\0\30\0n\30K\32\200\1p\360\275\300F\370O\10\0{\210\4\0\306\5\0\0e"..., 119) = 119
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\5\377\0", 4) = 4
write(3, "\1\203\377\24y{\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 24) = 24
read(3, "\4", 1) = 1
read(3, "\16\4", 2) = 2
read(3, "\1\203\377\0", 4) = 4
nanosleep({0, 50000}, NULL) = 0
ioctl(3, TCFLSH, 0x2) = 0
ioctl(3, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSETS, {B115200 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCSETD, [15]) = 0
ioctl(3, UI_BEGIN_FF_UPLOAD, 0x4) = -1 EPROTONOSUPPORT (Protocol not supported)
write(2, "Can't set device: Protocol not s"..., 41Can't set device: Protocol not supported
) = 41
write(2, "Can't initialize device: Protoco"..., 48Can't initialize device: Protocol not supported
) = 48
exit_group(1) = ?
+++ exited with 1 +++
I know Intel Edison has built-in bluetooth module, but it's BLE su(ks (low throughput)...