-
Notifications
You must be signed in to change notification settings - Fork 4
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
Tested models #1
Comments
D11 tested on:
Please let me know if you need any additional information or specific details about this model. |
@nyarau That's very odd. It seems like the client is not even able to get the printer information. |
@nyarau it's useful information. Looks like response for PrinterInfo packet is not same as in other models. I'll try to figure out how to handle it. |
There you go |
Pushed some changes. Model detection should work at least (if other info packets are not have different format, let me know if there is some other errors in the browser logs after printer connection). It would be very useful if you can record packet dump of successful print with the official app. Method may vary between ROMs, but generally it is:
|
I tried the new version, still can't get device info:
Error message when printing is now: Official Android app refused to run because my device is rooted, unfortunately. |
Copy-paste mistake, sorry. Fixed.
If your device rooted with Magisk, you can add NIIMBOT to DenyList. My device is rooted too and I can run app without problems with Zygisk&DenyList.
No problem, I don't want to bother you. |
And print
|
I managed to dump the packets from iOS app with the this method: https://novelbits.io/debugging-sniffing-secure-ble-ios/ (no Apple developer account required, any iCloud account works) |
Nice! Can you send a text version please? |
Long packets in txt export are truncated |
@nyarau, I figured it out and made some changes. Your dump helped me. Use print task version V1 for printing with your printer. |
Here you go, 1.txt and 2.txt are exactly as you requested, 3.txt contains more prints and one of them are 5 copies instead of 1. |
Seems like I get it. In old protocol printer is sending 0xE0 (In_PrinterPageIndex) status packets by themselves during print. In newer protocols it's exchange of 0xa3 (PrintStatus) → (0xb3) In_PrintStatus. Added new status check algorithm for V1 print task. Hopefully, it will work. Serial number parsing fixed too. |
I figured it out! |
Oddly enough. What is the behavior of the latest version, but without heartbeat? I don't recommend using heartbeat now, it is not turning off automatically in some cases and may break prints. |
It's the same behavior across all versions, no heartbeat no second print, once heartbeat is on it works no problem at all. |
Oh, okay. Then I'll work on heartbeat next. Apparently it's mandatory in older models. |
Fine-tuned lib and frontend heartbeat code. It will now start automatically after connect and will be paused on prints. |
Thanks a lot for your work! I did some fiddling myself, here is my finding: await $printerClient.abstraction.heartbeat().catch(console.error) |
I can confirm that this library works as-is with a few caveats for an M2 (2024) model NIIMBOT printer. modelId: 4608
Otherwise, flawless operation! |
Older models (Like D110) ignored tag completely. Newer models (like B1) degraded print quality (density) when tag was not present. Looks like newest models not printing at all without tag 🤔 The printer usually reads the tag once after closing the lid, so you can put the tag, close the lid, and remove the tag (this was in previous models).
Bluetooth filter was too small. Fixed in 6dde581
It's a fairly common behavior on new models when using older print task 😁 |
Using the B1 print task worked fine for me. Within the official app, here's the reported hardware and software version: Firmware version: 1.17 (with an update available) |
Have D101, used profile D110 (anything else doesnt work) |
@zzaabaazz Please post detailed printer info (gear icon near printer name) from niimblue. I hope we can get your printer to print normally. |
|
Wait, the B1 profile just worked perfectly |
@lamtszhin0528 Please repeat the instructions from the comment to this issue: |
There is a list of tested models.
If you own other model or you have issues with model listed here, please write a comment.
You can test your model with the niimblue project.
Tested by me, fully supported:
Tested by other people:
The text was updated successfully, but these errors were encountered: