Using WsOtaUpgrade to update OTA firmware to 737 tag but failed?

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

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

===

SDK: 2.1.

Tag: 920737.

app: OTA hello-sensor.
OTA firmware size ~ 18KB.

===

We use WsOtaUpgrade to download a image size bigger than example size(9KB).
Test 5 times but only 2 times ok and 3 times failed during downloading process.
I try to add trace and find as attached snapshot (hello_sensor_OTA_lower_layer_Queue.jpg) ,

@$*#04FF0EF7009201010000E5750405FF0000@$*#04FF0EF7009201010000E5750405FF0000@$*#04FF0EF7009201010000E5750405FF0000Write

NV in

NV out 0.

@$*#04FF0EF7009201010000E5750405FF0000@$*#04FF0EF7009201010000E5750405FF0000@$*#04FF0EF7009201010000E5750405FF0000Write

NV in

Write NV out 0.

@$*#04FF0EF7009201010000E5750405FF0000

[..... NO RESPONSE]

[PC:] hello_sensor_timeout:81   [ lower-layer seems alive cause timer thread is alive]

it seems when downloading a big file, when lower-layer of BLE pass the file segment
to app layer for storage which is ok to write to NV but owing to storage speed (may be a little slow)
and owing to PC site's transmission (maybe a little faster), the lower-layer file segment transfer
will be suspended or failed when continue transfer.


I try to do some way for this problem

- to kill timer before transfer start.

- to  update connection request slower like  lel2cap_sendConnParamUpdateReq(8, 15, 0, 900);

still have same problem found.

Is there any help for this issue? ( Try to make a delay in lower-layer or something or to increase
larger buffer in lower-layer Rx...something like this.)

0 Likes
1 Solution

I am not sure if it is the problem, but we identified an issue in the Windows driver USB selective suspend processing.  The fix is on the way, but to work around the issue, try to display the properties of the device Bluetooth Radio device in the Device Manager.  In the Power Management tab remove the check on the "Allow the computer to turn off this device to save power" box.

View solution in original post

7 Replies
Anonymous
Not applicable

I made one test below,

- Just mark this fun ws_upgrade_ota_handle_data() after execute WsOtaUpgrade.exe

--> This action is to check no relation with ota crc verification, no NV storage, and no any other
action in ws_upgrade_ota_handle_data() and the result is still failed and downloading will be stuck.


From result, it seems when BLE doing continuously Rx transmission,
issue will happen at lower-layer gets @$*#04FF0EF7009201010000E5750405FF0000

but fail to call hello_sensor_write_handler() so can not do the next action in app layer.


Any Rx buffer to be increased or need to adjust Tx timing in WsOtaupgrade app codes?


0 Likes

Can i check with you what dongle are you using to download the new image?

Anonymous
Not applicable

Hi,

I use "Well-Whole bluetooth V4 USB transceiver, WED-210V4"

0 Likes

I cannot reproduce your issue and is still working on it.

boont - Here's a link to what I believe is the 20702A0 based dongle they are using: Well-Whole Technology Co., LTD -  USB Dongle WED-210V4

Which dongle are you using?  Are the drivers from our website here: Bluetooth Software Download | Broadcom

victorz

0 Likes

I am not sure if it is the problem, but we identified an issue in the Windows driver USB selective suspend processing.  The fix is on the way, but to work around the issue, try to display the properties of the device Bluetooth Radio device in the Device Manager.  In the Power Management tab remove the check on the "Allow the computer to turn off this device to save power" box.

Anonymous
Not applicable

Hi Victorz,

It seems u got the point for the workaround and i will do more tests for this issue to see any help. Thx a lot...

0 Likes