This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ChSel Algorithm

I use two PCA10040 for nus experiment, S132, SDK14.1

sniffer capture packets found that no data can be captured after the master send CONNECT_REQ, I guess it is not because my capture tool does not support BLE5.0 LE Channel Selection Algorithm # 2, is it possible for this reason?

If yes, what can I do to switch the board back to LE Channel Selection Algorithm # 1?

Parents
  • This cannot be changed, per spec the advertiser (peripheral) has to set ChSel to 1 if it supports LE Channel Selection Algorithm #2 (Bluetooth Core 5.0, Vol. 6, Part B, Section 2.3.1.1):

    The ChSel field in the advertising channel PDU header shall be set to 1 if the advertiser supports the LE Channel Selection Algorithm #2 feature

    And the initiatior (central) has to set ChSel to 1 if it supports LE Channel Selection Algorithm #2 (Bluetooth Core 5.0, Vol. 6, Part B, Section 2.3.3.1):

    The ChSel field in the CONNECT_IND PDU header shall be set to 1 if the initiator supports the LE Channel Selection Algorithm #2 feature

    If both support LE Channel Selection Algorithm #2 this should be used (Bluetooth Core 5.0, Vol. 6, Part B, Section 4.5):

    If the initiator sent a CONNECT_IND PDU in response to an ADV_IND or ADV_DIRECT_IND PDU and either or both device’s PDU had the ChSel field set to 0, then Channel Selection Algorithm #1 (see Section 4.5.8.2) shall be used on the connection. Otherwise, Channel Selection Algorithm #2 (see Section 4.5.8.3) shall be used.

Reply
  • This cannot be changed, per spec the advertiser (peripheral) has to set ChSel to 1 if it supports LE Channel Selection Algorithm #2 (Bluetooth Core 5.0, Vol. 6, Part B, Section 2.3.1.1):

    The ChSel field in the advertising channel PDU header shall be set to 1 if the advertiser supports the LE Channel Selection Algorithm #2 feature

    And the initiatior (central) has to set ChSel to 1 if it supports LE Channel Selection Algorithm #2 (Bluetooth Core 5.0, Vol. 6, Part B, Section 2.3.3.1):

    The ChSel field in the CONNECT_IND PDU header shall be set to 1 if the initiator supports the LE Channel Selection Algorithm #2 feature

    If both support LE Channel Selection Algorithm #2 this should be used (Bluetooth Core 5.0, Vol. 6, Part B, Section 4.5):

    If the initiator sent a CONNECT_IND PDU in response to an ADV_IND or ADV_DIRECT_IND PDU and either or both device’s PDU had the ChSel field set to 0, then Channel Selection Algorithm #1 (see Section 4.5.8.2) shall be used on the connection. Otherwise, Channel Selection Algorithm #2 (see Section 4.5.8.3) shall be used.

Children
Related