/dev/i2c is not showing Raspberry Pi4 running on Android - linux

I am using AOSP android 11 in the RPi4. I have enabled the i2c in config.txt using the param dtparam=i2c_arm=on.
The i2c is showing in the /sys/bus/i2c/devices/i2c-1 but /dev/i2c is not listing in the dev folder.
I want to access the APDS-9960 sensor in AOSP.
Please suggest some solution.

Finally, I got it.
Open the config file bcm2711_defconfig under the kernel path kernel/arpi/arch/arm64/configs and change the config value CONFIG_I2C_CHARDEV=y.
This will enable the dev/i2c.

Related

Not able to create flutter linux desktop application snapcraft build

I have developed a Linux desktop application with the help of flutter but now I am facing an error when I am trying to create the snapcraft build in #Flutter Project and the project is running perfectly when I am run on a Linux system . Please let me know if anyone can connect with me and help me to solve this error. when I was run snapcraft cmd to create project snap so terminal showed this error.
**Error while processing...
The store was unable to accept this snap.
human review required due to 'deny-connection' constraint (interface attributes)
Could not find 'Exec=' in desktop file
Could not find 'Type=Application' in desktop file**
projectname.desktop file code
Name=projectname
Comment=projectname
Exec=projectname
Icon=snap/gui/projectname.png # replace name to your app name
Terminal=false
Type=Application
Categories=Utility; #adjust accordingly your snap category```
snapcraft.yaml Code
```name: projectname
version: '1.0.8'
summary: projectname summary
description: |
projectname description
confinement: strict
base: core18
grade: stable
# icon: snap/gui/projectname.png
# architectures:
# - build-on: armhf
architectures:
- build-on: armhf
# run-on: amd64
system-usernames:
snap_daemon: shared
slots:
dbus-projectname: # adjust accordingly to your app name
interface: dbus
bus: session
name: org.bar.projectname # adjust accordingly to your app name and
apps:
projectname:
command: projectname
extensions: [flutter-master] # Where "master" defines which Flutter channel to use for the
# desktop: snap/gui/projectname.desktop
plugs:
- network
- desktop
slots:
- dbus-projectname
parts:
bstamp:
source: .
plugin: flutter
flutter-target: lib/main.dart # The main entry-point file of the application```
I faced this issue a while ago and is was quit simple to solve. Check your .desktop file. It can't have extra spaces
change this
Name=projectname
Comment=projectname
Exec=projectname
Icon=snap/gui/projectname.png # replace name to your app name
Terminal=false
Type=Application
Categories=Utility; #adjust accordingly your snap category
to this
Name=projectname
Comment=projectname
Exec=projectname
Icon=snap/gui/projectname.png # replace name to your app name
Terminal=false
Type=Application
Categories=Utility; #adjust accordingly your snap category
I hope it helped you
I ran into exactly the same issue. I copy pasted from the guide on flutter.dev when creating my .desktop file. That left all entries with preceding spaces. Removing all the spaces fixed my issue.
If you fix those issues you'll still get the "human review required due to 'deny-connection' constraint (interface attributes)" but it will trigger a manual review this time after which you'll need to wait a couple of days for a human to review your submission.

Wifi Jammer SH1106Wire.h: No such file or directory

Trying to upload code onto esp8266 module for a wifi jammer. I followed these instructions/
When uploading the code I keep getting the error message SH1106Wire.h: No such file or directory.
See https://github.com/spacehuhn/esp8266_deauther/wiki/Installation#compiling-using-arduino-ide and https://github.com/spacehuhn/esp8266_deauther/issues/764 for ensuring all SDK files are available.

Amend boot cmdline in custom image build

I'm building a custom image that uses the meta-intel layer (I'm targeting Intel boards, such as the Minnowboard Turbot, for instance), and I want to tweak the options for booting.
First problem
As far as I understand, meta-intel uses systemd-boot (via rmc-boot) as EFI_PROVIDER.
So I should be able to override the specific BOOT_TIMEOUT parameter by setting :
SYSTEMD_BOOT_TIMEOUT := "0"
in my custom image, as far as I can see in this file
Unfortunately, that doesn't work (the boot timeout is still 4 seconds). How come ?
Second problem
As well, I would like to append options to the boot.conf file (in /boot/loader/entries, loaded by /boot/loader/loader.conf), such as quiet, or vt.global_cursor_default=0 for instance.
I see in the Intel machine conf that there is an APPEND configuration, but overriding it or appending to it in my custom image doesn't work (it's still not written in the boot.conf file) :
APPEND += "quiet vt.global_cursor_default=0"
I've checked that the configuration is correctly read and it's the case :
$ bitbake my-custom-image -e | grep ^APPEND= -A1 -B1
# " quiet rootwait console=ttyS0,115200 console=tty0${#bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}"
APPEND=" quiet vt.global_cursor_default=0 rootwait console=ttyS0,115200 console=tty0"
#
But no matter what I do, the command line doesn't change on the built image.
What do I miss ? There should be a relatively easy way to achieve what I'm after I guess, but so far I have not managed to do it.
Thanks a lot !
I have been looking at the kernel command line parameters for intel platform in Yocto with the meta-intel.
I have noticed differences between the wic and hddimg yocto images.
The hddimg seems to use the rmc boot entry definition whereas the wic image uses the boot entry defined in the wks kickstart.
My machine conf has the following :
WKS_FILE ?= "${#bb.utils.contains_any("EFI_PROVIDER", "systemd-boot rmc-boot", "systemd-bootdisk.wks", "mkefidisk.wks", d)}"
In turns systemd-bootdisk.wks has the following boot entry "boot" :
bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4 console=ttyS0,115200 console=tty0"
The RMC definition for my Minnowboard Max has 2 entry a boot and an install.
Minnow Max B3 boot
Minnow Max B3 install
I am using the pyro release for Yocto. Perhaps integration of RMC boot definition has been integrated into the wic images.
I am looking for a common place to add the kernel command line parameter. Any idea ?

Emulator: audio: Failed to create voice `adc'

[ while opening AVD Manager getting
Emulator: qemu-system-i386.exe: warning: opening audio input failed
Emulator: audio: Failed to create voice `adc'
Emulator: audio: Failed to create voice `adc' got this error ? How to remove error ? ]1
Go to: Tools > Android > AVD Manager
Press the "edit" (pencil) icon next to your AVD
Change "Graphics" to "Software".
I solved the problem pluggin in a microphone and then removing it. Never had that problem again.
Go to Sdk -> emulator -> lib and then open configuration settings named hardware properties, find the hw.AudioInput field and set default to no:
One option, following #palehorse's terse clue, is to edit your AVD's config.ini to disable audio.
Android Studio > Tools > AVD manager ...
Against your (previously setup) Virtual Device > Actions > Down arrow [Click it] > Show on Disk ...
This will take you to a directory like C:\Users\<username>\.android\avd\my_API_29_-_Android_10.avd
In that directory edit config.ini
Replace ...
hw.audioInput=yes
... with ...
hw.audioInput=no
hw.audioOutput=no
An entry for hw.audioOutput did not previously exist.
Restart the emulator a few times to get rid of lingering error messages.
See Android AVD set custom hardware for other ways to disable audio.
I solved the problem:
pluggin in a microphone
Start emulator (Wait to start app)
and then removing it
Never had that problem again.
Old question I know, but I was able to resolve this by editing the emulator and disabling the hw.audioInput setting.
Just go to C:\users\sahil\.android\avd and delete .lock file.
It's your new Windows 10 Update.
To Fix: Click Start, go to ⚙ Settings> Privacy Settings> Microphone. Turn On "Allow apps to access your microphone"
In Window 10. I was able to fix it by doing...
go to C:\Users<YOUR_USER_NAME>.android\avd\Pixel_XL_API_30_R_.avd
open config file
find hw.dPad and set yes like hw.dPad = yes
Restart your AVD

How to change boot partition for Beaglebone Black after flashing Debian 8.4 to eMMC?

I'm trying to get the current Debian 8.4 SD card image onto my Beaglebone Black's eMMC. The flashing itself worked flawlessly by enabling (uncommenting) this line in the /boot/uEnv.txt file:
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
Flashing completed successfully with blinking LED's as described in the HowTo. Next, I connected a serial-USB cable to the J1 connector in order to see the boot process in Putty's serial console. The system starts to boot but then stops with an error message:
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
[line above repeats multiple times]
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mmcblk1p1 does not exist. Dropping to a shell!
I then get an (initramfs) prompt. From there, I figured out that mmcblk1p1 is not the right partition, it should be mmcblk0p1 instead. I think this is because of a different enumeration when the SD card is removed.
Now the big question: How and where can I set the partition the system starts from? It must be defined somewhere. I can mount the root partition mmcblk0p1 and edit files from the prompt, so I hope that there's just a small config file I need to tweak. Do I need to add something to the /boot/uEnv.txt file? (I already commented out the flasher script after flashing, of course).
Thanks for your help!
It should be as easy as editing uEnv.txt.
There should be a line containing: root=/dev/mmcblk1p1 - just edit that to say /dev/mmcblk0p1.
The current version of the flasher script (Dec 2019) changes the boot designation to eMMC automagically upon successful completion of the flash.

Resources