I've got some serious problems with attaching PAN1326 (with CC2564B on it).
After sudo hciattach -n -t 180 /dev/ttyUSB1 texas 115200
sudo strace hciattach -n -t 180 /dev/ttyUSB1 texas 115200 execve("/usr/local/bin/hciattach", ["hciattach", "-n", "-t", "180", "/dev/ttyUSB1", "texas", "115200"], [/* 18 vars */]) = 0 brk(0) = 0x226a000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f928a0c1000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=113383, ...}) = 0 mmap(NULL, 113383, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f928a0a5000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1845024, ...}) = 0 mmap(NULL, 3953344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9289adb000 mprotect(0x7f9289c96000, 2097152, PROT_NONE) = 0 mmap(0x7f9289e96000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7f9289e96000 mmap(0x7f9289e9c000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9289e9c000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f928a0a4000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f928a0a2000 arch_prctl(ARCH_SET_FS, 0x7f928a0a2740) = 0 mprotect(0x7f9289e96000, 16384, PROT_READ) = 0 mprotect(0x616000, 4096, PROT_READ) = 0 mprotect(0x7f928a0c3000, 4096, PROT_READ) = 0 munmap(0x7f928a0a5000, 113383) = 0 rt_sigaction(SIGALRM, {0x402a90, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f9289b11c30}, NULL, 8) = 0 alarm(180) = 0 open("/dev/ttyUSB1", 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_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_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 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_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {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", 2) = 1 read(3, "\f", 1) = 1 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) = 0x226a000 brk(0x228b000) = 0x228b000 open("/lib/firmware/ti-connectivity/TIInit_6.7.16.bts", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=3230, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f928a0c0000 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) = 3230 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", 2) = 1 read(3, "\4", 1) = 1 read(3, "\1", 4) = 1 read(3, "6\377", 3) = 2 read(3, "\0", 1) = 1 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_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_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0 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_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0 write(3, "\0017\376\2\7\20", 6) = 6 read(3, "\4", 1) = 1 read(3, "\16", 2) = 1 read(3, "\4", 1) = 1 read(3, "\1", 4) = 1 read(3, "7\376", 3) = 2 read(3, "\0", 1) = 1 write(3, "\1\5\377\377\320b\10\0\372\7\20G\1\0\0\0\0\0\0\0\0p\265\26M\256\177\1$\246F\22"..., 259) = 259 read(3, "\4", 1) = 1 read(3, "\16\4", 2) = 2 read(3, "\1\5", 4) = 2 read(3, "\377\0", 2) = 2 write(3, "\1\5\377\273\312c\10\0\266p\265\2i\324\216\25\217\245B\31\335\310!\213\\@!\31@\336\21\366"..., 191) = 191 read(3, "\4", 1) = 1 read(3, "\16\4", 2) = 2 read(3, "\1", 4) = 1 read(3, "\5\377", 3) = 2 read(3, "\0", 1) = 1 write(3, "\1\5\377\215x{\10\0\210\0\265\370\360A\372\0\2757d\10\0\0\0\0\0\0\0\0\0\0\0\0"..., 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\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"..., 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\241\0\0\30\0\234\360\265\37N\7\"2p\20#spG \260p\1$\364p\3 \34"..., 165) = 165 read(3, "\4", 1) = 1 read(3, "\16\4", 2) = 2 read(3, "\1\5", 4) = 2 read(3, "\377\0", 2) = 2 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", 4) = 2 read(3, "\377", 2) = 1 read(3, "\0", 1) = 1 nanosleep({0, 50000}, NULL) = 0 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_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B115200 -opost -isig -icanon -echo ...}) = 0 ioctl(3, TIOCSETD, [15]) = 0 ioctl(3, UI_BEGIN_FF_UPLOAD, 0x4) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 nanosleep({1, 0}, 0x7fff97865a30) = 0 ioctl(3, UI_BEGIN_FF_ERASE, 0) = 0 socket(PF_BLUETOOTH, SOCK_RAW|SOCK_CLOEXEC, 1) = 5 bind(5, {sa_family=AF_BLUETOOTH, sa_data="\0\0\0\0\0\0\3\0\0\0\0\0\0\0"}, 6) = 0 ioctl(5, HCIDEVUP, 0) = -1 EBUSY (Device or resource busy) write(2, "Can't init device hci0: Device o"..., 52Can't init device hci0: Device or resource busy (16)) = 52 close(5) = 0 write(2, "Can't initialize device: Device "..., 49Can't initialize device: Device or resource busy ) = 49 exit_group(1) = ? +++ exited with 1 +++
So, init script is loading, but when it want do up the interface, we receive EBUSY.
I'm attaching only when BT_RDY is logic low, by bluez version is 5.24 and i'm running on 3.13 kernel.
Could you provide me working firmware for this chip ?