This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WL1835MOD: WL18xx 40MHz TX Continuous Test on TX1 Path not Working

Part Number: WL1835MOD
Other Parts Discussed in Thread: WL1835, ,

I'm trying to perform the continuous transmit test using calibrator tool for 40MHz Primary Lower on 2.4GHz Channel 1. But when transmit path 1 or both transmit path 1 & 2 are selected in set_tx_power, the radio is not emitting anything:

TX1:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 3
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 -1 1 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1

Both TX1&TX2:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 3
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 -1 3 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1

When selecting transmit path 2 or auto, it works as expected:

TX2:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 3
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 -1 2 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1

Auto Mode:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 3
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 -1 0 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1

The test for 20MHz on 2.4GHz Channel 1 works for all combinations of transmit path:

Auto Mode:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 1
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 0 0 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 0

TX1:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 1
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 0 1 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 0

TX2:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 1
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 0 2 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 0

Both TX1&TX2:
calibrator wlan0 wl18xx_plt stop_tx
calibrator wlan0 wl18xx_plt tune_channel 1 0 1
calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 0 3 0 1 0 0 0 0
calibrator wlan0 wl18xx_plt start_tx 400 19 3000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 0

Do I have the wrong combination of parameters for the 40MHz Primary Lower on 2.4GHz Channel 1?

Or is this the expected behavior?

I do have two antennas configured on wl18xx-conf.bin:

$> wlconf -i /lib/firmware/ti-connectivity/wl18xx-conf.bin --get | grep ant2_4
wl18xx.phy.number_of_assembled_ant2_4 = 0x02

Firmware version for the WL1835:

wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
wlcore: PHY firmware version: Rev 8.2.0.0.237
wlcore: firmware booted (Rev 8.9.0.0.70)

Calibrator version is 0.80.

Thank you,

Fabiano

  • Hi Fabiano,

    Have you tried Upper instead of Lower?

    Have you tried this on Ch6 or 7?

    BR,

    Seong

  • Hi Seong,

    I repeated the test for channels 1, 6 and 7, with upper and lower primary.

    The calibrator commands are accepted. It says Starting TX Simulation as usual, but the radio does not emit anything.

    Here are the commands I tried:

    40MHz Primary Upper:
    	calibrator wlan0 wl18xx_plt stop_tx
    	calibrator wlan0 wl18xx_plt tune_channel  1 0 2
    	calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 1 1 0 1 0 0 0 0
    	calibrator wlan0 wl18xx_plt start_tx 300 19 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1
    
    	calibrator wlan0 wl18xx_plt stop_tx
    	calibrator wlan0 wl18xx_plt tune_channel  6 0 2
    	calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 6 1 1 0 1 0 0 0 0
    	calibrator wlan0 wl18xx_plt start_tx 300 19 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1
    
    	calibrator wlan0 wl18xx_plt stop_tx
    	calibrator wlan0 wl18xx_plt tune_channel  7 0 2
    	calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 7 1 1 0 1 0 0 0 0
    	calibrator wlan0 wl18xx_plt start_tx 300 19 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1
    
    40MHz Primary Lower:
    	calibrator wlan0 wl18xx_plt stop_tx
    	calibrator wlan0 wl18xx_plt tune_channel  1 0 3
    	calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 1 -1 1 0 1 0 0 0 0
    	calibrator wlan0 wl18xx_plt start_tx 300 19 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1
    
    	calibrator wlan0 wl18xx_plt stop_tx
    	calibrator wlan0 wl18xx_plt tune_channel  6 0 3
    	calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 6 -1 1 0 1 0 0 0 0
    	calibrator wlan0 wl18xx_plt start_tx 300 19 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1
    
    	calibrator wlan0 wl18xx_plt stop_tx
    	calibrator wlan0 wl18xx_plt tune_channel  7 0 3
    	calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 7 -1 1 0 1 0 0 0 0
    	calibrator wlan0 wl18xx_plt start_tx 300 19 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1

    Attached is the wl18xx-conf.

    wl1835-config.txt
    header.magic = 0x10e100ca
    header.version = 0x00070007
    header.checksum = 0x00000000
    core.sg.params = 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000f, 0x0000001b, 0x00000011, 0x000000aa, 0x00000032, 0x00000064, 0x00000320, 0x000000c8, 0x000000c8, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x0000003c, 0x00001388, 0x000004b0, 0x000003e8, 0x00000001, 0x00000003, 0x00000006, 0x0000000a, 0x0000000a, 0x00000002, 0x00000005, 0x0000001e, 0x00000003, 0x0000000a, 0x00000002, 0x00000000, 0x00000019, 0x00000019, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
    core.sg.state = 0x01
    core.rx.rx_msdu_life_time = 0x0007d000
    core.rx.packet_detection_threshold = 0x00000000
    core.rx.ps_poll_timeout = 0x000f
    core.rx.upsd_timeout = 0x000f
    core.rx.rts_threshold = 0x0931
    core.rx.rx_cca_threshold = 0x0000
    core.rx.irq_blk_threshold = 0xffff
    core.rx.irq_pkt_threshold = 0x0000
    core.rx.irq_timeout = 0x0258
    core.rx.queue_type = 0x00
    core.tx.tx_energy_detection = 0x00
    core.tx.sta_rc_conf.enabled_rates = 0x00000000
    core.tx.sta_rc_conf.short_retry_limit = 0x0a
    core.tx.sta_rc_conf.long_retry_limit = 0x0a
    core.tx.sta_rc_conf.aflags = 0x00
    core.tx.ac_conf_count = 0x04
    core.tx.ac_conf0.ac = 0x00
    core.tx.ac_conf0.cw_min = 0x0f
    core.tx.ac_conf0.cw_max = 0x003f
    core.tx.ac_conf0.aifsn = 0x03
    core.tx.ac_conf0.tx_op_limit = 0x0000
    core.tx.ac_conf1.ac = 0x01
    core.tx.ac_conf1.cw_min = 0x0f
    core.tx.ac_conf1.cw_max = 0x003f
    core.tx.ac_conf1.aifsn = 0x07
    core.tx.ac_conf1.tx_op_limit = 0x0000
    core.tx.ac_conf2.ac = 0x02
    core.tx.ac_conf2.cw_min = 0x0f
    core.tx.ac_conf2.cw_max = 0x003f
    core.tx.ac_conf2.aifsn = 0x01
    core.tx.ac_conf2.tx_op_limit = 0x0bc0
    core.tx.ac_conf3.ac = 0x03
    core.tx.ac_conf3.cw_min = 0x0f
    core.tx.ac_conf3.cw_max = 0x003f
    core.tx.ac_conf3.aifsn = 0x01
    core.tx.ac_conf3.tx_op_limit = 0x05e0
    core.tx.max_tx_retries = 0x64
    core.tx.ap_aging_period = 0x012c
    core.tx.tid_conf_count = 0x04
    core.tx.tid_conf0.queue_id = 0x00
    core.tx.tid_conf0.channel_type = 0x01
    core.tx.tid_conf0.tsid = 0x00
    core.tx.tid_conf0.ps_scheme = 0x00
    core.tx.tid_conf0.ack_policy = 0x00
    core.tx.tid_conf0.apsd_conf = 0x00000000, 0x00000000
    core.tx.tid_conf1.queue_id = 0x01
    core.tx.tid_conf1.channel_type = 0x01
    core.tx.tid_conf1.tsid = 0x01
    core.tx.tid_conf1.ps_scheme = 0x00
    core.tx.tid_conf1.ack_policy = 0x00
    core.tx.tid_conf1.apsd_conf = 0x00000000, 0x00000000
    core.tx.tid_conf2.queue_id = 0x02
    core.tx.tid_conf2.channel_type = 0x01
    core.tx.tid_conf2.tsid = 0x02
    core.tx.tid_conf2.ps_scheme = 0x00
    core.tx.tid_conf2.ack_policy = 0x00
    core.tx.tid_conf2.apsd_conf = 0x00000000, 0x00000000
    core.tx.tid_conf3.queue_id = 0x03
    core.tx.tid_conf3.channel_type = 0x01
    core.tx.tid_conf3.tsid = 0x03
    core.tx.tid_conf3.ps_scheme = 0x00
    core.tx.tid_conf3.ack_policy = 0x00
    core.tx.tid_conf3.apsd_conf = 0x00000000, 0x00000000
    core.tx.tid_conf4.queue_id = 0x00
    core.tx.tid_conf4.channel_type = 0x00
    core.tx.tid_conf4.tsid = 0x00
    core.tx.tid_conf4.ps_scheme = 0x00
    core.tx.tid_conf4.ack_policy = 0x00
    core.tx.tid_conf4.apsd_conf = 0x00000000, 0x00000000
    core.tx.tid_conf5.queue_id = 0x00
    core.tx.tid_conf5.channel_type = 0x00
    core.tx.tid_conf5.tsid = 0x00
    core.tx.tid_conf5.ps_scheme = 0x00
    core.tx.tid_conf5.ack_policy = 0x00
    core.tx.tid_conf5.apsd_conf = 0x00000000, 0x00000000
    core.tx.tid_conf6.queue_id = 0x00
    core.tx.tid_conf6.channel_type = 0x00
    core.tx.tid_conf6.tsid = 0x00
    core.tx.tid_conf6.ps_scheme = 0x00
    core.tx.tid_conf6.ack_policy = 0x00
    core.tx.tid_conf6.apsd_conf = 0x00000000, 0x00000000
    core.tx.tid_conf7.queue_id = 0x00
    core.tx.tid_conf7.channel_type = 0x00
    core.tx.tid_conf7.tsid = 0x00
    core.tx.tid_conf7.ps_scheme = 0x00
    core.tx.tid_conf7.ack_policy = 0x00
    core.tx.tid_conf7.apsd_conf = 0x00000000, 0x00000000
    core.tx.frag_threshold = 0x0930
    core.tx.tx_compl_timeout = 0x015e
    core.tx.tx_compl_threshold = 0x000a
    core.tx.basic_rate = 0x00000001
    core.tx.basic_rate_5 = 0x00000008
    core.tx.tmpl_short_retry_limit = 0x0a
    core.tx.tmpl_long_retry_limit = 0x0a
    core.tx.tx_watchdog_timeout = 0x00001388
    core.tx.slow_link_thold = 0x03
    core.tx.fast_link_thold = 0x1e
    core.conn.wake_up_event = 0x02
    core.conn.listen_interval = 0x01
    core.conn.suspend_wake_up_event = 0x04
    core.conn.suspend_listen_interval = 0x03
    core.conn.bcn_filt_mode = 0x01
    core.conn.bcn_filt_ie_count = 0x03
    core.conn.bcn_filt_ie0.ie = 0x25
    core.conn.bcn_filt_ie0.rule = 0x02
    core.conn.bcn_filt_ie0.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie0.type = 0x00
    core.conn.bcn_filt_ie0.version = 0x00, 0x00
    core.conn.bcn_filt_ie1.ie = 0x3d
    core.conn.bcn_filt_ie1.rule = 0x01
    core.conn.bcn_filt_ie1.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie1.type = 0x00
    core.conn.bcn_filt_ie1.version = 0x00, 0x00
    core.conn.bcn_filt_ie2.ie = 0x2a
    core.conn.bcn_filt_ie2.rule = 0x01
    core.conn.bcn_filt_ie2.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie2.type = 0x00
    core.conn.bcn_filt_ie2.version = 0x00, 0x00
    core.conn.bcn_filt_ie3.ie = 0x00
    core.conn.bcn_filt_ie3.rule = 0x00
    core.conn.bcn_filt_ie3.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie3.type = 0x00
    core.conn.bcn_filt_ie3.version = 0x00, 0x00
    core.conn.bcn_filt_ie4.ie = 0x00
    core.conn.bcn_filt_ie4.rule = 0x00
    core.conn.bcn_filt_ie4.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie4.type = 0x00
    core.conn.bcn_filt_ie4.version = 0x00, 0x00
    core.conn.bcn_filt_ie5.ie = 0x00
    core.conn.bcn_filt_ie5.rule = 0x00
    core.conn.bcn_filt_ie5.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie5.type = 0x00
    core.conn.bcn_filt_ie5.version = 0x00, 0x00
    core.conn.bcn_filt_ie6.ie = 0x00
    core.conn.bcn_filt_ie6.rule = 0x00
    core.conn.bcn_filt_ie6.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie6.type = 0x00
    core.conn.bcn_filt_ie6.version = 0x00, 0x00
    core.conn.bcn_filt_ie7.ie = 0x00
    core.conn.bcn_filt_ie7.rule = 0x00
    core.conn.bcn_filt_ie7.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie7.type = 0x00
    core.conn.bcn_filt_ie7.version = 0x00, 0x00
    core.conn.bcn_filt_ie8.ie = 0x00
    core.conn.bcn_filt_ie8.rule = 0x00
    core.conn.bcn_filt_ie8.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie8.type = 0x00
    core.conn.bcn_filt_ie8.version = 0x00, 0x00
    core.conn.bcn_filt_ie9.ie = 0x00
    core.conn.bcn_filt_ie9.rule = 0x00
    core.conn.bcn_filt_ie9.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie9.type = 0x00
    core.conn.bcn_filt_ie9.version = 0x00, 0x00
    core.conn.bcn_filt_ie10.ie = 0x00
    core.conn.bcn_filt_ie10.rule = 0x00
    core.conn.bcn_filt_ie10.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie10.type = 0x00
    core.conn.bcn_filt_ie10.version = 0x00, 0x00
    core.conn.bcn_filt_ie11.ie = 0x00
    core.conn.bcn_filt_ie11.rule = 0x00
    core.conn.bcn_filt_ie11.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie11.type = 0x00
    core.conn.bcn_filt_ie11.version = 0x00, 0x00
    core.conn.bcn_filt_ie12.ie = 0x00
    core.conn.bcn_filt_ie12.rule = 0x00
    core.conn.bcn_filt_ie12.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie12.type = 0x00
    core.conn.bcn_filt_ie12.version = 0x00, 0x00
    core.conn.bcn_filt_ie13.ie = 0x00
    core.conn.bcn_filt_ie13.rule = 0x00
    core.conn.bcn_filt_ie13.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie13.type = 0x00
    core.conn.bcn_filt_ie13.version = 0x00, 0x00
    core.conn.bcn_filt_ie14.ie = 0x00
    core.conn.bcn_filt_ie14.rule = 0x00
    core.conn.bcn_filt_ie14.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie14.type = 0x00
    core.conn.bcn_filt_ie14.version = 0x00, 0x00
    core.conn.bcn_filt_ie15.ie = 0x00
    core.conn.bcn_filt_ie15.rule = 0x00
    core.conn.bcn_filt_ie15.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie15.type = 0x00
    core.conn.bcn_filt_ie15.version = 0x00, 0x00
    core.conn.bcn_filt_ie16.ie = 0x00
    core.conn.bcn_filt_ie16.rule = 0x00
    core.conn.bcn_filt_ie16.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie16.type = 0x00
    core.conn.bcn_filt_ie16.version = 0x00, 0x00
    core.conn.bcn_filt_ie17.ie = 0x00
    core.conn.bcn_filt_ie17.rule = 0x00
    core.conn.bcn_filt_ie17.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie17.type = 0x00
    core.conn.bcn_filt_ie17.version = 0x00, 0x00
    core.conn.bcn_filt_ie18.ie = 0x00
    core.conn.bcn_filt_ie18.rule = 0x00
    core.conn.bcn_filt_ie18.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie18.type = 0x00
    core.conn.bcn_filt_ie18.version = 0x00, 0x00
    core.conn.bcn_filt_ie19.ie = 0x00
    core.conn.bcn_filt_ie19.rule = 0x00
    core.conn.bcn_filt_ie19.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie19.type = 0x00
    core.conn.bcn_filt_ie19.version = 0x00, 0x00
    core.conn.bcn_filt_ie20.ie = 0x00
    core.conn.bcn_filt_ie20.rule = 0x00
    core.conn.bcn_filt_ie20.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie20.type = 0x00
    core.conn.bcn_filt_ie20.version = 0x00, 0x00
    core.conn.bcn_filt_ie21.ie = 0x00
    core.conn.bcn_filt_ie21.rule = 0x00
    core.conn.bcn_filt_ie21.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie21.type = 0x00
    core.conn.bcn_filt_ie21.version = 0x00, 0x00
    core.conn.bcn_filt_ie22.ie = 0x00
    core.conn.bcn_filt_ie22.rule = 0x00
    core.conn.bcn_filt_ie22.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie22.type = 0x00
    core.conn.bcn_filt_ie22.version = 0x00, 0x00
    core.conn.bcn_filt_ie23.ie = 0x00
    core.conn.bcn_filt_ie23.rule = 0x00
    core.conn.bcn_filt_ie23.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie23.type = 0x00
    core.conn.bcn_filt_ie23.version = 0x00, 0x00
    core.conn.bcn_filt_ie24.ie = 0x00
    core.conn.bcn_filt_ie24.rule = 0x00
    core.conn.bcn_filt_ie24.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie24.type = 0x00
    core.conn.bcn_filt_ie24.version = 0x00, 0x00
    core.conn.bcn_filt_ie25.ie = 0x00
    core.conn.bcn_filt_ie25.rule = 0x00
    core.conn.bcn_filt_ie25.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie25.type = 0x00
    core.conn.bcn_filt_ie25.version = 0x00, 0x00
    core.conn.bcn_filt_ie26.ie = 0x00
    core.conn.bcn_filt_ie26.rule = 0x00
    core.conn.bcn_filt_ie26.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie26.type = 0x00
    core.conn.bcn_filt_ie26.version = 0x00, 0x00
    core.conn.bcn_filt_ie27.ie = 0x00
    core.conn.bcn_filt_ie27.rule = 0x00
    core.conn.bcn_filt_ie27.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie27.type = 0x00
    core.conn.bcn_filt_ie27.version = 0x00, 0x00
    core.conn.bcn_filt_ie28.ie = 0x00
    core.conn.bcn_filt_ie28.rule = 0x00
    core.conn.bcn_filt_ie28.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie28.type = 0x00
    core.conn.bcn_filt_ie28.version = 0x00, 0x00
    core.conn.bcn_filt_ie29.ie = 0x00
    core.conn.bcn_filt_ie29.rule = 0x00
    core.conn.bcn_filt_ie29.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie29.type = 0x00
    core.conn.bcn_filt_ie29.version = 0x00, 0x00
    core.conn.bcn_filt_ie30.ie = 0x00
    core.conn.bcn_filt_ie30.rule = 0x00
    core.conn.bcn_filt_ie30.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie30.type = 0x00
    core.conn.bcn_filt_ie30.version = 0x00, 0x00
    core.conn.bcn_filt_ie31.ie = 0x00
    core.conn.bcn_filt_ie31.rule = 0x00
    core.conn.bcn_filt_ie31.oui = 0x00, 0x00, 0x00
    core.conn.bcn_filt_ie31.type = 0x00
    core.conn.bcn_filt_ie31.version = 0x00, 0x00
    core.conn.synch_fail_thold = 0x0000000c
    core.conn.bss_lose_timeout = 0x00000190
    core.conn.beacon_rx_timeout = 0x00002710
    core.conn.broadcast_timeout = 0x00004e20
    core.conn.rx_broadcast_in_ps = 0x01
    core.conn.ps_poll_threshold = 0x0a
    core.conn.sig_weights.rssi_bcn_avg_weight = 0x00
    core.conn.sig_weights.rssi_pkt_avg_weight = 0x00
    core.conn.sig_weights.snr_bcn_avg_weight = 0x00
    core.conn.sig_weights.snr_pkt_avg_weight = 0x00
    core.conn.bet_enable = 0x01
    core.conn.bet_max_consecutive = 0x32
    core.conn.psm_entry_retries = 0x08
    core.conn.psm_exit_retries = 0x10
    core.conn.psm_entry_nullfunc_retries = 0x03
    core.conn.dynamic_ps_timeout = 0x0096
    core.conn.forced_ps = 0x00
    core.conn.keep_alive_interval = 0x0000d6d8
    core.conn.max_listen_interval = 0x14
    core.conn.sta_sleep_auth = 0xff
    core.conn.suspend_rx_ba_activity = 0x00
    core.itrim.enable = 0x00
    core.itrim.timeout = 0x0000c350
    core.pm_config.host_clk_settling_time = 0x00001388
    core.pm_config.host_fast_wakeup_support = 0x01
    core.roam_trigger.trigger_pacing = 0x0001
    core.roam_trigger.avg_weight_rssi_beacon = 0x14
    core.roam_trigger.avg_weight_rssi_data = 0x0a
    core.roam_trigger.avg_weight_snr_beacon = 0x14
    core.roam_trigger.avg_weight_snr_data = 0x0a
    core.scan.min_dwell_time_active = 0x00001d4c
    core.scan.max_dwell_time_active = 0x00007530
    core.scan.min_dwell_time_active_long = 0x000061a8
    core.scan.max_dwell_time_active_long = 0x0000c350
    core.scan.dwell_time_passive = 0x000186a0
    core.scan.dwell_time_dfs = 0x000249f0
    core.scan.num_probe_reqs = 0x0002
    core.scan.split_scan_timeout = 0x0000c350
    core.sched_scan.base_dwell_time = 0x00001d4c
    core.sched_scan.max_dwell_time_delta = 0x000057e4
    core.sched_scan.dwell_time_delta_per_probe = 0x000007d0
    core.sched_scan.dwell_time_delta_per_probe_5 = 0x0000015e
    core.sched_scan.dwell_time_passive = 0x000186a0
    core.sched_scan.dwell_time_dfs = 0x000249f0
    core.sched_scan.num_probe_reqs = 0x02
    core.sched_scan.rssi_threshold = 0xa6
    core.sched_scan.snr_threshold = 0x00
    core.sched_scan.num_short_intervals = 0x0d
    core.sched_scan.long_interval = 0x7530
    core.ht.rx_ba_win_size = 0x20
    core.ht.tx_ba_win_size = 0x40
    core.ht.inactivity_timeout = 0x2710
    core.ht.tx_ba_tid_bitmap = 0x3f
    core.mem.num_stations = 0x01
    core.mem.ssid_profiles = 0x01
    core.mem.rx_block_num = 0x28
    core.mem.tx_min_block_num = 0x28
    core.mem.dynamic_memory = 0x01
    core.mem.min_req_tx_blocks = 0x2d
    core.mem.min_req_rx_blocks = 0x16
    core.mem.tx_min = 0x1b
    core.fm_coex.enable = 0x01
    core.fm_coex.swallow_period = 0x05
    core.fm_coex.n_divider_fref_set_1 = 0xff
    core.fm_coex.n_divider_fref_set_2 = 0x0c
    core.fm_coex.m_divider_fref_set_1 = 0xffff
    core.fm_coex.m_divider_fref_set_2 = 0x0094
    core.fm_coex.coex_pll_stabilization_time = 0xffffffff
    core.fm_coex.ldo_stabilization_time = 0xffff
    core.fm_coex.fm_disturbed_band_margin = 0xff
    core.fm_coex.swallow_clk_diff = 0xff
    core.rx_streaming.duration = 0x00000096
    core.rx_streaming.queues = 0x01
    core.rx_streaming.interval = 0x14
    core.rx_streaming.always = 0x00
    core.fwlog.mode = 0x00
    core.fwlog.mem_blocks = 0x02
    core.fwlog.severity = 0x00
    core.fwlog.timestamp = 0x00
    core.fwlog.output = 0x01
    core.fwlog.threshold = 0x00
    core.rate.rate_retry_score = 0x7d00
    core.rate.per_add = 0x2000
    core.rate.per_th1 = 0x0800
    core.rate.per_th2 = 0x1000
    core.rate.max_per = 0x1fa4
    core.rate.inverse_curiosity_factor = 0x05
    core.rate.tx_fail_low_th = 0x04
    core.rate.tx_fail_high_th = 0x0a
    core.rate.per_alpha_shift = 0x04
    core.rate.per_add_shift = 0x0d
    core.rate.per_beta1_shift = 0x0a
    core.rate.per_beta2_shift = 0x08
    core.rate.rate_check_up = 0x02
    core.rate.rate_check_down = 0x0c
    core.rate.rate_retry_policy = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    core.hangover.recover_time = 0x00000000
    core.hangover.hangover_period = 0x14
    core.hangover.dynamic_mode = 0x01
    core.hangover.early_termination_mode = 0x01
    core.hangover.max_period = 0x14
    core.hangover.min_period = 0x01
    core.hangover.increase_delta = 0x01
    core.hangover.decrease_delta = 0x02
    core.hangover.quiet_time = 0x04
    core.hangover.increase_time = 0x01
    core.hangover.window_size = 0x10
    core.recovery.bug_on_recovery = 0x00
    core.recovery.no_recovery = 0x00
    wl18xx.ht.mode = 0x00
    wl18xx.phy.phy_standalone = 0x00
    wl18xx.phy.spare0 = 0x08
    wl18xx.phy.enable_clpc = 0x00
    wl18xx.phy.enable_tx_low_pwr_on_siso_rdl = 0x00
    wl18xx.phy.auto_detect = 0x00
    wl18xx.phy.dedicated_fem = 0x00
    wl18xx.phy.low_band_component = 0x02
    wl18xx.phy.low_band_component_type = 0x04
    wl18xx.phy.high_band_component = 0x01
    wl18xx.phy.high_band_component_type = 0x09
    wl18xx.phy.number_of_assembled_ant2_4 = 0x02
    wl18xx.phy.number_of_assembled_ant5 = 0x01
    wl18xx.phy.pin_muxing_platform_options = 0x00, 0x00
    wl18xx.phy.external_pa_dc2dc = 0x00
    wl18xx.phy.tcxo_ldo_voltage = 0x00
    wl18xx.phy.xtal_itrim_val = 0x04
    wl18xx.phy.srf_state = 0x00
    wl18xx.phy.srf1 = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    wl18xx.phy.srf2 = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    wl18xx.phy.srf3 = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    wl18xx.phy.io_configuration = 0x01
    wl18xx.phy.sdio_configuration = 0x00
    wl18xx.phy.settings = 0x00
    wl18xx.phy.rx_profile = 0x00
    wl18xx.phy.per_chan_pwr_limit_arr_11abg = 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
    wl18xx.phy.pwr_limit_reference_11_abg = 0x64
    wl18xx.phy.per_chan_pwr_limit_arr_11p = 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
    wl18xx.phy.pwr_limit_reference_11p = 0x64
    wl18xx.phy.spare1 = 0x00
    wl18xx.phy.per_chan_bo_mode_11_abg = 0x40, 0x00, 0x04, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18
    wl18xx.phy.per_chan_bo_mode_11_p = 0x00, 0x00, 0x00, 0x00
    wl18xx.phy.primary_clock_setting_time = 0x05
    wl18xx.phy.clock_valid_on_wake_up = 0x00
    wl18xx.phy.secondary_clock_setting_time = 0x05
    wl18xx.phy.board_type = 0x02
    wl18xx.phy.psat = 0x00
    wl18xx.phy.low_power_val = 0x08
    wl18xx.phy.med_power_val = 0x12
    wl18xx.phy.high_power_val = 0x18
    wl18xx.phy.per_sub_band_tx_trace_loss = 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    wl18xx.phy.per_sub_band_rx_trace_loss = 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    wl18xx.phy.tx_rf_margin = 0x01
    wl18xx.phy.low_power_val_2nd = 0x05
    wl18xx.phy.med_power_val_2nd = 0x0a
    wl18xx.phy.high_power_val_2nd = 0x14
    wl18xx.phy.padding = 0x00
    wl18xx.ap_sleep.idle_duty_cycle = 0x00
    wl18xx.ap_sleep.connected_duty_cycle = 0x00
    wl18xx.ap_sleep.max_stations_thresh = 0x04
    wl18xx.ap_sleep.idle_conn_thresh = 0x08
    

    Please let me know your suggestions, our unit is on compliance awaiting feedback on this. 

    Thank you,
    Fabiano

  • Hi Fabiano,

    Are you testing a custom board or an WL1835MODCOM8B EVM?

    What is the center frequency set to on your spectrum analyzer when you are executing those commands?

    Please see pages 10 and 11 in the Calibrator Tool User's Guide here. Note that when you transmitting 40MHz Primary Upper, you should center the frequency two channels below. Vice versa for 40MHz Primary Lower.

    BR,

    Seong

  • Hi Seong,

    We have designed a custom board based on the WL1835MODCOM8B.

    I’m using a spectrum analyzer that covers 2400MHz to 2495MHz at once.

    My problem is with transmit path 1 or both transmit path 1 & 2 in set_tx_power, where the radio is not emitting anything. The pages you pointed out from Calibrator Guide are using the Auto Mode (antenna setting #0 on set_tx_power). I need the commands for antenna settings #1 (TX1) and #3 (Both TX1&TX2). See Guide’s page 4 for set_tx_power parameters.

    Like I previously mentioned, I can perform the test for 20MHz for all combinations of transmit path. On 40MHz, it only works for auto mode (antenna setting #0) and TX2 (antenna setting #2). In other words, I cannot isolate 40MHz to TX1 like the lab wants.

    So I was really hoping you could try to run this on your setup; not with the commands from the Guide, but with the commands I’m stating that do not work.

    Please let me know the results of your test.

    Thank you very much,
    Fabiano

  • Hi Fabiano,

    Okay, I will try this in our lab and let you know my results.

    BR,

    Seong

  • Thank you Seong! 

  • Hi Seong,

    Do you have any updates?

    Thank you,
    Fabiano

  • Fabiano,

    Please give me until tomorrow to provide an update.

    Thanks,

    Seong

  • Hi Seong,

    Do you have any updates?

    Thank you,

    Fabiano

  • Fabiano,

    See modulation rate table below.

    Have you tried 20~24? These are the 40MHz modulation rates. 

    BR,

    Seong

  • Rates 21~24 do not work at all. Have you tried them? Here are the commands I've used:

    calibrator wlan0 wl18xx_plt stop_tx
    calibrator wlan0 wl18xx_plt tune_channel 7 0 2
    calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 7 1 0 0 1 0 0 0 0
    calibrator wlan0 wl18xx_plt start_tx 300 'rate' 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1


    Rate 20 exhibits the same problem I've been seeing. It works when selecting transmit path 2 or auto:
    TX2:
    calibrator wlan0 wl18xx_plt stop_tx
    calibrator wlan0 wl18xx_plt tune_channel 7 0 2
    calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 7 1 2 0 1 0 0 0 0
    calibrator wlan0 wl18xx_plt start_tx 300 20 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1
    
    Auto Mode:
    calibrator wlan0 wl18xx_plt stop_tx
    calibrator wlan0 wl18xx_plt tune_channel 7 0 2
    calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 7 1 0 0 1 0 0 0 0
    calibrator wlan0 wl18xx_plt start_tx 300 20 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1


    But when transmit path 1 or both transmit path 1 & 2 are selected in set_tx_power, the radio is not emitting anything:
    TX1:
    calibrator wlan0 wl18xx_plt stop_tx
    calibrator wlan0 wl18xx_plt tune_channel 7 0 2
    calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 7 1 1 0 1 0 0 0 0
    calibrator wlan0 wl18xx_plt start_tx 300 20 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1
    
    Both TX1&TX2:
    calibrator wlan0 wl18xx_plt stop_tx
    calibrator wlan0 wl18xx_plt tune_channel 7 0 2
    calibrator wlan0 wl18xx_plt set_tx_power 20000 0 0 7 1 3 0 1 0 0 0 0
    calibrator wlan0 wl18xx_plt start_tx 300 20 4000 0 0 1 0 0 00:11:22:33:44:55 01:02:03:04:05:06 1





    I'm really interested in the results of you trying to replicate this in your lab. Not with the command from the Guide, but with the commands I’m stating that do not work.

    Could you please try this in your lab and report soon? The compliance lab is waiting for a resolution on this.

    Thank you very much,
    Fabiano

  • Fabiano,

    I understand. I'll try to find some time tomorrow to get in the lab and reproduce this.

    BR,

    Seong

  • Hello Fabiano,

    Thank you for waiting. I am getting the same results as you are; only TX2 is working for me. 

    TX2 is RF_ANT1 which is the main antenna for 2.4-GHz SISO. TX1 is RF_ANT2 which is a MIMO-only (MCS8 to MCS15) secondary antenna for 2.4-GHz MIMO operation.

    When the WL1835MOD is in STA mode, you can do both 20MHz SISO and MIMO. However for 40MHz, you can only do SISO operation where RF_ANT1 (TX2) is the main antenna for 2.4GHz SISO. 

    BR,

    Seong

  • Hi Seong,

    Is it correct to say a 2.4GHz 40MHz signal will never be emitted from RF_ANT2 (TX1) in any circumstance?

    My assumption here is no changes of the main antenna are made on the wlconf (wl18xx.phy.spare0).  

    Thank you,
    Fabiano

  • Fabiano,

    That is correct. 

    BR,

    Seong