-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Module LLCC68 does not initialize #1329
Comments
There's been a couple other issues/discussions reporting this. The version string is stored in the module itself, so it looks like the module "thinks" it's an SX1261. So the question is whether there's an SX1261 inside that Ebyte module, or if the string is wrong and it really is LLCC68. I don't have that module, so I can't check this. One way to figure this out by configuring a SF/BW configuration that the LLCC68 does not support (e.g. SF12, BW 125 kHz). If it is LLCC68, it should fail. If it is the more capable SX1261, it should have no issues and freely transmit. @jrhbcn if you could try taht, that would be great. Since this came up a couple times already, I have added a note about this to LLCC68 examples, and the troubleshooting guide. |
i have also encountered the same issue, previously ordered ebyte 220- 400m22s LLCC68 modules were working with constructor LLCC68. but newly ordered ebyte 220 - 400m22s are not working with constructor llcc68, while its working with constructor SX1262. so i ipened shield from module and checked the ic on both prev and new modules. the ic in both is LLCC68. so i think its supplying wrong string. |
@codev123 it's a good question to ask Semtech ;) The best we can do is test it - would it be possible to perform the test I proposed above, i.e. configuring a LoRa setting not supported by the LLCC68 and trying if it works? If the test fails, then we know it's just the string in the device that is incorrect, and we can work around that. If it works, there might a different issue (wrong marking? though it seems unlikely ...) Also, if you could take a photo of both ICs so that the markings are visible (the old and the new one) and post them, that would be very helpful. Maybe there's a specific batch of the ICs that has this problem. |
Thank you sir. i have already tested what you have mentioned, and when i initialise llcc68 with constructor SX1262, with bandwidth 125.0 and sf 12, it got initialized and i was able to transmit data too. what is this? its against data sheet of llcc68, but i opened the shield and ic has LLCC68 written over it. |
I can also confirm that my EBYTE E220-900M22S (bought less than 2-3 weeks ago) works doing a pingpong example with another module with BW=125 and SF=12. So it does not have a LLCC68 inside. @codev123 you can easily add images to github comments, just copy and paste and it will be included! I am going to investigate if there is a sx1261 or a sx1262 chip instead of the advertised LLCC68. The only difference I can see is that sx1261 supports +15dBm and sx1262 +22dBm. @jgromes, I see that in the library, sx1261 is capped to 14dBm not 15dBm. Is that intended? |
Hello again, I have done some more tests with the PingPong example. PingPong sender is the E220-900M22S module with the "fake" LCC68 chip. PingPong receiver is a LILYGO T3_V1.6.1 integrated ESP32+LoRa (sx1276). I have configured the receiver with some fixed settings: BW=125, SF=9, CR=5, dBm=20 (max for sx1276). I compiled the PingPong sender (fake LLCC68) with the sx1261 and sx1262 classes at different dBm: 1. Using sx1261 class with dBm=14 Receiver reports RSSI of around -125dBm. Really weird as both receiver and sender are face to face. This is the receiver log:
while the sender log reports much higher RSSI:
Measuring the current consumption of the E220-900M22S shows values of 10mA (again too low which correlates with the low RSSI reported): 2. Using sx1262 class with dBm=14
Sender reports:
Current consumption looks more in line with datasheets with 82mA when transmitting the message: 3. Using sx1262 class with dBm=22
Sender reports:
Current consumption stays in 82mA when transmitting the message: Sorry for the extra-long message but I am a bit loss here. It seems that using sx1262 class allows the module to transmit with more power. However, it does not seem to change transmission power (receiving RSSI and mA remain constant). So actually no idea what is going on in that chip. Also, compared with the LILYGO, it seems to transmit at a lower power even with the sx1262 class. @jgromes, @codev123. Any ideas? If you want me to make any other test to understand a bit better what is happening, let me know! |
@jrhbcn thank you for the test!
That might be just a small mistake on my part; you are correct that it can go up to +15 dBm, so I will fix that. Regarding the power, it seems that despite what it reports, the LLCC68 is actually based on SX1262, at least for the PA configuration. In the previous screenshot, the So to summarize, the LLCC68 you have reports being SX1261, but behaves as if it were SX1262 🙃 If you could confirm this still works with SF12 BW 125 then I'd say you lucked out, because from what I understood, LLCC68 was supposed to be a cheaper alternative to SX1262, with limited features. Now you got the full feature set ;) |
Perfect, thank you!
I confirm that it works using SF=12 and BW=125 so it definitely seems to be a sx1262. However, I don't think we were lucky. Transmission power does not works properly. I have done some test modifying the transmission power from 1dBm to 22dBm, and it seems to cap at 10 dBm, and it does not increase power any more (confirmed both with receiver RSSI and mA consumption of the chip). These are my results, all using class sx1262 with the "fake" LLCC68 module:
Comparing to another module (sx1276 with +20dBm in the datasheet) that reports a receiver RSSI = -46 I think it indeed limits the power to around 10dBm. My guess now is that maybe a low quality chip that goes as LLCC68, or very low quality components around it in the E220-900M22S module that prevents the chip to use the needed power. I have checked the datasheet but I don't see anywhere anything we might change to increase that power, it indeed seems to be totally compatible with sx1262... In any case, many thanks for your help!! BTW: Any good chip recommendation I can buy to replace it? I am looking for fairly power (>20dBm) and that it supports duty cycle (as I will be receiving 24/7 and trying to reduce power). That is why I went to the sx1262 / LLCC68 in the first place... |
@jrhbcn thank you for the additional test! Lacking any official information from the manufacturer, I think the best we can do for now is to accept the "SX1261" string as valid for LLCC68 and leave all the limits as the datasheet suggests. EDIT: Regarding the recommended transceiver to use, I'd say SX1262 is your best bet - just not the LLCC68. |
Yes, I agree @jgromes, this is the best we can do. Based on my tests, I would recommend, if LLCC68 fails to initialize, to use the sx1262 class instead of the sx1261 (even if it reports the latter). I don't know if you want to change the comment in the examples to reflect this. In any case, I think we can close the issue now. Many thanks! |
@jrhbcn I can't really "change the class if LLCC68 fails to initialize", that's up to the user. What I can do is allow them to use the device even if it has the SX1261 string. The mismatch will also be reported to the debug port. |
I was just referring to the comment line in the LLCC68 example. However, I just saw you removed them. In any case, I think that commit to the LLCC68 is perfect! ;) |
I am using a EBYTE E220-900M22S module that comes with a LLCC68 chip connected to a ESP32 D1 mini. I am experimenting with the SX126x_Channel_Activity_Detection_Receive example. Using the LLCC86 module does not seem to work:
I have changed this part in the example:
And it gives the error:
However, if I change to using the module SX1262 (LLCC68 is supposed to be pin compatible except that it does not support some configurations), then the module initializes, and it seems to receive messages from other LoRa modules:
What is happening? It seems the LLCC68 chip is actually returning the SX1261 string? Both SX1261 and SX1262 classes seem to work as intended (but not LLCC68)? Is this normal, or is it just a bogus chip?
The text was updated successfully, but these errors were encountered: