Skip to content
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

Picostill found but unable to get passed Step 1/3 on Pico Z #161

Open
marcchabot opened this issue Dec 15, 2020 · 14 comments
Open

Picostill found but unable to get passed Step 1/3 on Pico Z #161

marcchabot opened this issue Dec 15, 2020 · 14 comments

Comments

@marcchabot
Copy link

Hi and thanks for the hard work.

Trying to setup Picostill (as it doesn't seem to work on real picobrew server). My Pi4 all setup and working as AP and connected to internet via home Wifi.
It will find the Picostill and connect to it but after few seconds trying to set it up (1/3) I will get an alarm with "General Error" and then only option is "Reconnect to wifi" or "Exit".

Any idea on what I can do? Do I have to update PicoStill firmware and if so, how can I do it?

Thanks.

@marcchabot marcchabot changed the title Picostill found but unable to get passed Step 1/3 Picostill found but unable to get passed Step 1/3 on Pico Z Dec 15, 2020
@tmack8001
Copy link
Collaborator

@marcchabot do you have or know how to get access to any of the server logs to see if there was a server error that might have created this scenario?

To verify you have both the Z and PicoStill connected to the raspberrypi server and able to communicate (the Z is the only thing that communicates to the raspberrypi during a session)?

The PicoStill during the startup sequence is the only time that it will communicate to picobrew.com (in this scenario the raspberrypi) during the actual distillation and the initial setup of the distillation process only the Z communicates to the server. The initial startup sequence we will also signal to the PicoStill to pull the latest firmware as configured on the server configuration (or default to latest available from PicoBrew proper).

@tmack8001
Copy link
Collaborator

Also what is the firmware version that is reported on your Still?

@marcchabot
Copy link
Author

marcchabot commented Dec 16, 2020 via email

@marcchabot
Copy link
Author

marcchabot commented Dec 16, 2020 via email

@tmack8001
Copy link
Collaborator

No the pico machines don't validate certificates... and only the Z actually even uses https (though still doesn't validate certificate). This stupidity by PB allows us to take advantage of this lack of security by introducing the MITM attack (man in the middle) to even have any of this work.

ssh username and password is raspbian's default (we haven't changed it)

@marcchabot
Copy link
Author

marcchabot commented Dec 16, 2020 via email

@tmack8001
Copy link
Collaborator

tmack8001 commented Dec 16, 2020

Dec 16 10:42:07 picoserver rc.local[355]: /usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

That is just a warning that we aren't validating the certificate of the picobrew.com proper domain when doing a recipe/instruction import operation. This can be completely ignored. We wouldn't be able to handle the certificate without modifications cause we are accessing via a static IP and the cert is signed with picobrew.com domain of which is redirected on the raspberrypi anyways.

These requests logs are actually the only requests from the PicoStill:

Dec 16 10:43:24 picoserver rc.local[355]: 127.0.0.1 - - [16/Dec/2020 10:43:24] "GET /API/PicoStill/getFirmwareAddress?uid=30aea46b3858&version=0.0.21 HTTP/1.0" 200 -
Dec 16 10:43:25 picoserver rc.local[355]: 127.0.0.1 - - [16/Dec/2020 10:43:25] "GET /firmware/picostill/picostill_0_0_30.bin HTTP/1.0" 200 -

That shows me that your PicoStill was on an older than 0.0.30 firmware release (reporting as version=0.0.21) and the offline server bumped it up to 0.0.30.

These are as I said the requests that are expected from the Z when running a "PicoStill" session and look completely normal:

Dec 16 10:43:56 picoserver rc.local[355]: 127.0.0.1 - - [16/Dec/2020 10:43:56] "POST /Vendors/input.cshtml?type=StillRequest&token=30aea4c73494 HTTP/1.0" 200 -
Dec 16 10:44:00 picoserver rc.local[355]: 127.0.0.1 - - [16/Dec/2020 10:44:00] "POST /Vendors/input.cshtml?type=StillRequest&token=30aea4c73494 HTTP/1.0" 200 -

Did you get prompts on the Z to acknowledge that you cleaned your PicoStill prior to use?

@marcchabot
Copy link
Author

marcchabot commented Dec 16, 2020 via email

@tmack8001
Copy link
Collaborator

Don't see anything in the request log that would result in that. Though will do some local testing to see if I can reproduce at all.

@tmack8001
Copy link
Collaborator

I'd recommend restarting the PicoStill and Z at least once and see if this experience persists. Did you try that by chance? I haven't had time to get the Still out as a snowstorm came into the area and the kids are home today.

@marcchabot
Copy link
Author

marcchabot commented Dec 17, 2020 via email

@marcchabot
Copy link
Author

marcchabot commented Dec 20, 2020 via email

@tmack8001
Copy link
Collaborator

Unless there are two different firmware types in the PicoStill lineup it would already be forced to the latest firmware upon booting up and connecting to the raspberrypi.

@tmack8001
Copy link
Collaborator

@marcchabot any progress here? did you manage to get this still to work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants