Also it seems not to advertise. What may cause this problem?
All I could found in the ble_gap.h is:
If both conn_sup_timeout and max_conn_interval are specified, then the following constraint applies: *
conn_sup_timeout * 4 > (1 + slave_latency) * max_conn_interval
According to this (imagine max_conn_interval would be 4000):
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(75, UNIT_1_25_MS) /**< Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */
#define SLAVE_LATENCY 0 /**< Slave latency. */
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */
It would be 4000*4 > (1+0) * 4000. Looks true to me.
Edit: Seems like it works till 1999 and bugs if >2000. It should go all the way up to 4000. Shouldn't it? Also it says in the nRF Master Control Panel: 1998,75ms. (1998 -> 1997,50ms) I thought maybe the MSEC_TO_UNITS could cause the problem. But nope, just 3200 also doesn't work.