OpenThread Border Router setup on RPi Zero W - openthread

I am currently building a cost efficient Open Thread network. In my setup i have few Full thread devices and Minimal Thread Device which will be sending data to cloud via Border Router. I have currently setup a RCP design Open Thread Border Router on RPi 3B+ by following the open thread docs and its working fine.
Doc Link: Open Thread Border Router Build and Configuration
Now as i want my final product to be as cost efficient as it can be, i would like to consider using RPi Zero W for setting up my Open Thread Border Router. So i was following the same steps mentioned in OTBR doc to setup it on RPi Zero W, i came across this line in Step 3 which states " Before you continue, make sure your configured hardware platform is connected to the internet using Ethernet. The bootstrap script disables the platform's WiFi interface and the setup script requires internet connectivity to download and install several packages. "
But my RPi Zero W only have WiFi interface. So i wanted to know, is it even possible to run OTBR setup on RPi Zero W ?
I have also read in docs that "Open Thread Border Router (OTBR) provides support for the Raspberry Pi 3B or newer (RPi) platform". But have anyone tried the same setup on RPi Zero W and was successful ? Because in the end as i said, i would like my final product to be as cost effective as possible.
Also find the attachment of the error i am facing:

If you are not setting NETWORK_MANAGER=1 when running ./script/setup, I think it would work with just the Wi-Fi interface.
You can try running the following setup command:
INFRA_IF_NAME=wlan0 ./script/setup

Related

STM32 Virtual COM Port appears as Device in DFU Mode on Windows 10

So, my knowladge in embedded development is quite bad and now I am trying to receive some data from PC inside my MCu STM32F429IGT6 which is on WaveShare Core4X9I dev-board and send it back via USB Virtual COM Port.
I realized how to set up connection from MCu part and I even see connected device from Windows 10 Device Manager but... it appears as STM Device in DFU Mode
I have tryed already to install drivers from ST for such things but they are useless and official documentation says that they are not needed for Windows 10.
I have been following tutorials where guys just clicked several times inside Cube MX, generated code and VCP worked out of the box.
The question is what am I doing wrong? I don`t even know what information you might ask for thats why I created GitHub repo: https://github.com/dessy4oko/stm32f429-vcp-appears-as-dfu
And this is events from Device Manager of Windows 10 (translation from ru lang):
Device USB\VID_0483&PID_DF11\305233703237 is running. code 410
Device USB\VID_0483&PID_DF11\305233703237 is configured. code 400
Device USB\VID_0483&PID_DF11\305233703237 have not been moved due to partial or ambiguous matching. code 442
Device USB\VID_0483&PID_DF11\305233703237 requires further installation. code 430
Thank you for any information about my mistakes.
STM32 starts in DFU mode if BOOT-pins are pulled accordingly:
"System memory" means embedded bootloader, DFU in this case. You need "Main Flash" to run your app.
Check jumpers and switches on your board. Refer also to the AN2606 app note for complete information.

Headless Setup of Asus Tinker Board S

I am trying to set up Tinker Board headlessly as I don't have access to a wired keyboard and mouse.
One method I know that works for Raspi is by creating an SSH file while setting it up and a wpa_supplicant.conf file to provide wifi details. I have flashed the latest Tinker OS v2.2.9 onto the eMMC present on the board as per the instructions. But, in this case I am not able to access the drive once flashed (Contrary to raspi setup).
Is there a way to set it up headlessly?
Thank you for taking out time to read this and helping out.

selenium chromedriver python - default downloads folder [duplicate]

We recently upgraded our Windows 10 test environment with ChromeDriver v87.0.4280.20 and Chrome v87.0.4280.66 (Official Build) (64-bit) and after the up-gradation even the minimal program is producing this ERROR log:
[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Minimum Code Block:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.google.com/')
Console Output:
DevTools listening on ws://127.0.0.1:64170/devtools/browser/2fb4bb93-79ab-4131-9e4a-3b65c08dbffb
[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
[9848:10684:1201/013233.172:ERROR:device_event_log_impl.cc(211)] [01:32:33.173] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Anyone facing the same? Was there any change in ChromeDriver/Chrome v87 with respect to ChromeDriver/Chrome v86?
Any clues will be helpful.
However these log messages can be supressed from appearing on the console through an easy hack i.e. by adding an argument through add_experimental_option() as follows:
options.add_experimental_option('excludeSwitches', ['enable-logging'])
Code Block:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
# to supress the error messages/logs
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.google.com/')
My apologies for the log spam. If you aren't having issues connecting to a device with WebUSB you can ignore these warnings. They are triggered by Chrome attempting to read properties of USB devices that are currently suspended.
After going through quite a few discussions, documentations and Chromium issues here are the details related to the surfacing of the log message:
[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Details
It all started with the reporting of chromium issue Remove WebUSB's dependency on libusb on Windows as:
For Linux (probably Mac as well), both WebUSB notification and communication works correctly (after allowing user access to the device in udev rules).
For Windows, it seems that libusb only works with a non-standard WinUsb driver (https://github.com/libusb/libusb/issues/255).
When the hardware is inserted and the VID/PID is unknown to the system, windows 10 correctly loads it's CDC driver for the CDC part and the WinUSB driver (version 10) for the WebUSB part (no red flags). However, it seems that chrome never finds the device until I manually force an older WinUSB driver (version 6 - probably modified also) on the interface.
The solution was implemented in a step-wise manner as follows:
Start supporting some transfers in the new Windows USB backend
Fix bulk/interrupt transfers in the new Windows USB backend
[usb] Read BOS descriptors from the hub driver on Windows
[usb] Collect all composite devices paths during enumeration on Windows
[usb] Remove out parameters in UsbServiceWin helper functions
[usb] Support composite devices in the new Windows backend
[usb] Detect USB functions as Windows enumerates them
[usb] Support composite devices with multiple functions
[usb] Hold interface requests until Windows enumerates functions
[usb] Add direction parameter to ClearHalt
[usb] Count references to a WINUSB_INTERFACE_HANDLE
[usb] Implement blocking operations in the Windows backend
These changes ensured that the new backend was ready to be tested and was available through Chrome Canary and chrome-dev-channel which you can access manually through:
chrome://flags#enable-new-usb-backend
More change requests were submitted as follows:
[usb] Mark calls to SetupDiGetDeviceProperty as potentially blocking: According to hang reports this function performs an RPC call which may take some time to complete. Mark calls with a base::ScopedBlockingCall so that the thread pool knows this task may be busy for a while.
variations: Enable NewUsbBackend in field trial testing config: This flag was experimental as beta-channel uses this change configuration as the default for testing.
As the experimental launch of the new backend appeared to be stable, finally these configuration was enabled by default so that the chanege rolls out to all users of Chrome 87 through usb: Enable new Windows USB backend by default. Revision / Commit
The idea was once this configuration becomes the default for a few milestones, Chromium Team will start removing the Windows-specific code from the old back-end and remove the flag.
Road Ahead
Chromium Team have already merged the revision/commit to Extend new-usb-backend flag expiration within Chrome v90 which will be available soon.
Update
As per #ReillyGrant's [Committer, WebDriver for Google Chrome] comment :
..." it would be good to reduce the log level for these messages so they don't appear on the console by default but we haven't landed code to do that yet"...
References
You can find a couple of relevant detailed discussions in:
Failed to read descriptor from node connection: A device attached to the system is not functioning error using ChromeDriver Selenium on Windows OS
Failed to read descriptor from node connection: A device attached to the system is not functioning error using ChromeDriver Chrome through Selenium
I encounered this problem yesterday,and I has fixed it by update all available windows update.
https://support.microsoft.com/en-us/windows/what-to-try-if-your-touchscreen-doesn-t-work-f159b366-b3ef-99ad-24a4-31a4c62ab46d
A partial solution that worked for me
I was getting this error too. It was stopping my program running.
I unplugged all my USB devices, ran the program, with no error.
Plugged the devices back in, ran the program. I am still getting the error, however, the program finished without the error stopping the program.
Note: For WebdriverIO on Windows 10, this suppresses the error messages for me:
"goog:chromeOptions": { "excludeSwitches": ["enable-logging"] }

Using react native build on device red screen is coming .Android error “Could not connect to the server” on start of app.

I am new in react native language first time run the build on the physical device the red screen is comming how to resolve this
It may be a bundle error.
You can run command react-native-start. Then open this link in browser
http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false
It will bundle the package with development server.
or It may be an issue with adb not running
Only applicable for physical mobile device
incase you are still our of luck ... follow these steps
usually its port forwarding which causes this
so ensure you have already executed
adb reverse tcp:5000 tcp:6000
(OVER here your port number can be same or different depending upon how do you run your program, in my case i keep both of the same)
And if your issue is solved.
identify your machine ip address
goto mobile device (ensure wifi is turned on and you are on same network)
open any browser and see whether your ip is accessible by using following url
{ip address}:{port}
Example: 10.98.1.1:9001
If you see page can't be displayed, Do following -
Still run the application on device which will show red color error screen
Shake the device
Goto Dev settings
Open Debug server host & port for device
Enter
localhost:{port number} instead of ip address
You are done.

TIA PORTAL v11. Open existing project

I have to use an existing project in STEP7/TIA PORTAL v11 and I have the PLC (CPU 1212C AC/DC/RLY) with the code downloaded inside it which is connected to a touch panel (KTP600 Basic Color PN).
What I want is to download the code from the PLC to my computer to try to modify it, is this posible?
Because I've tried to connect it to my PC and it doesn't detect it. It turns on the ERROR and the MAINT leds in red.
The configuration is over a virtual machine (VMware player with Windows 7) because my PC has Windows 8 installed and it doesn't support TIA PORTAL is there any problem with this?
If program was uploaded with TIA11 it is not good idea to use v13. What is more with other version you need new licence keys.
From your vm ping the plc address if itis in right subnet. Then serch for sccessible nodes. On your picture i see that you should try using 'search all accessible devices'.
Upgrade to version 13 of TIA Portal. This version can run under Windows 8.
Under VMWare you have to change the network settings for your Virtual Machine to bridged. Also install VMWware Tools.
Those are some steps that I would try.
make sure you can ping it from inside your Virtual Machine. It will validate the route to the plc (cable, network config). It’s not a necessary step to connect to a plc, but it’s a good check.
Go to Control Panel on Windows, then PG/PC , then make sure that you have the right Hardware Interface Active
If you still not able to see the PLC, I advise you to to download PRONETA, if it still doesn’t show up there, then the research would have to go deeper. Until today, I’ve only one time in all year when a device have not apeares in Proneta.