Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Studio Bluetooth Forum Discussions

Level 1
Level 1
First like given


I would like to access high speed baud rate (4M) for testing

here are my configuration

1.using wiced studio to download a 4m fw which wiced_transport_cfg_t is set as 4M

2.try to use cybluetool and sent reset command , assume this is work and in HCI mode

3.pull open all J26 connect with MCU using UART_TXD, UART_RXD, and UART_CTS is connect to 20706 eval board J19_8

4.sent a hci_reset command in MCU's Linux terminal

5.see nothing outcome

but those steps work fine when setting as baud 115200, what am I missong  or anything wrong with high baud rate settings?

thank you for your comment.

Best regards,

2 Replies
750 replies posted 500 likes received 500 replies posted

Hi ryli_4531716​,

The maximum baud rate supported for HCI is 3M, therefore setting it to 4M will not work here.

Can you try setting it to 3M and test if it works.


Hi SheetalJ_96​,

yes, I noticed that.

and I found when start with 921600-3M ,and try to sent a dummy hci command first. it's not work as well

is anything shall notice with handling high speed?

there is my simple code:


//set up

    char hci_reset[] = {0x01, 0x03, 0x0C, 0x00};

    char hci_dummy[] = {0x0a, 0x05};

//configure uart

    printf("config start\n\r");

    tcgetattr(fd, &options);

    options.c_cflag &= ~PARENB;

    options.c_cflag &= ~CSTOPB;

    options.c_cflag &= ~CSIZE;

    options.c_cflag |= CS8;

    options.c_cc[VTIME] = 20; // read timeout 10*100ms

    options.c_cc[VMIN] = 0;

    options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);

    options.c_oflag &= ~OPOST;

    options.c_iflag &= ~(ICRNL | IXON);

    cfsetispeed(&options, B921600);

    cfsetospeed(&options, B921600);

    options.c_cflag |= (CLOCAL | CREAD);

    tcflush(fd, TCIFLUSH);

    tcsetattr(fd, TCSANOW, &options);

    printf("config complete\n\r");

//write in hci command

        printf("write uart\n\r");

//send a fummy first        

ret = write(fd, hci_dummy, sizeof(hci_dummy));

        if (ret != sizeof( hci_dummy))

            printf("ERROR write ret=%d\n", ret);



//send reset

        printf("write uart\n\r");

         ret = write(fd, hci_reset, sizeof(hci_reset));

        if (ret != sizeof( hci_reset))

            printf("ERROR write ret=%d\n", ret);

//read out

        printf("read uart\n\r");

        while ((ret = read(fd, rx_buf, 1)) > 0) {

          rx_buf[1] = 0;

          printf("0x%x\n", rx_buf[0]);






thank you.