Git Product home page Git Product logo

android_kernel_brcm_rpi's Introduction

How do I submit patches to Android Common Kernels

  1. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.

    • Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux, additions of EXPORT_SYMBOL_GPL() require an in-tree modular driver that uses the symbol -- so include the new driver or changes to an existing driver in the same patchset as the export.
    • When sending patches upstream, the commit message must contain a clear case for why the patch is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not not a persuasive case.
  2. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with [email protected]. If you want to proceed, post a patch that conforms to the patch requirements below.

Common Kernel patch requirements

  • All patches must conform to the Linux kernel coding standards and pass scripts/checkpatch.pl
  • Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
  • If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch: UPSTREAM:, BACKPORT:, FROMGIT:, FROMLIST:, or ANDROID:.
  • All patches must have a Change-Id: tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
  • If an Android bug has been assigned, there must be a Bug: tag.
  • All patches must have a Signed-off-by: tag by the author and the submitter

Additional requirements are listed below based on patch type

Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:

  • If the patch is a cherry-pick from Linux mainline with no changes at all
    • tag the patch subject with UPSTREAM:.
    • add upstream commit information with a (cherry picked from commit ...) line
    • Example:
      • if the upstream commit message is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>
  • then Joe Smith would upload the patch for the common kernel as
        UPSTREAM: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        Signed-off-by: Joe Smith <[email protected]>
  • If the patch requires any changes from the upstream version, tag the patch with BACKPORT: instead of UPSTREAM:.
    • use the same tags as UPSTREAM:
    • add comments about the changes under the (cherry picked from commit ...) line
    • Example:
        BACKPORT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [joe: Resolved minor conflict in drivers/foo/bar.c ]
        Signed-off-by: Joe Smith <[email protected]>

Requirements for other backports: FROMGIT:, FROMLIST:,

  • If the patch has been merged into an upstream maintainer tree, but has not yet been merged into Linux mainline
    • tag the patch subject with FROMGIT:
    • add info on where the patch came from as (cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't use linux-next for example).
    • if changes were required, use BACKPORT: FROMGIT:
    • Example:
      • if the commit message in the maintainer tree is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>
  • then Joe Smith would upload the patch for the common kernel as
        FROMGIT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
         https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <[email protected]>
  • If the patch has been submitted to LKML, but not accepted into any maintainer tree
    • tag the patch subject with FROMLIST:
    • add a Link: tag with a link to the submittal on lore.kernel.org
    • add a Bug: tag with the Android bug (required for patches not accepted into a maintainer tree)
    • if changes were required, use BACKPORT: FROMLIST:
    • Example:
        FROMLIST: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <[email protected]>

        Bug: 135791357
        Link: https://lore.kernel.org/lkml/[email protected]/
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <[email protected]>

Requirements for Android-specific patches: ANDROID:

  • If the patch is fixing a bug to Android-specific code
    • tag the patch subject with ANDROID:
    • add a Fixes: tag that cites the patch with the bug
    • Example:
        ANDROID: fix android-specific bug in foobar.c

        This is the detailed description of the important fix

        Fixes: 1234abcd2468 ("foobar: add cool feature")
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <[email protected]>
  • If the patch is a new feature
    • tag the patch subject with ANDROID:
    • add a Bug: tag with the Android bug (required for android-specific features)

android_kernel_brcm_rpi's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android_kernel_brcm_rpi's Issues

Waveshare xinch DSI touchscreen support

Describe the bug

Is it possible to add support for Waveshare DSI touchscreen? I got this specific one: https://www.waveshare.com/wiki/7inch_DSI_LCD_(C) which requires additional work. Unfortunately, vendor publishes only binaries for some specific Linux kernel.

On the other hand, there is an open pull request: raspberrypi/linux#5433 which enables support for most (all?) touchscreens from Waveshare. Could you include the patch from above pull request into the LineageOS build, please?

Steps to reproduce the behaviour

raspberrypi/linux#5433 - please include this, as there are many touchscreens available and supporting them would be a step forward to many RPi users.

Device (s)

Raspberry Pi 4 Mod. B

System

Lineage 20

Logs

No response

Additional context

No response

Max17040 can't enable with config_user.txt

Describe the bug

dtoverlay=i2c-sensor,max17040
Doesn't work.
System doesn't register the i2c device.

Steps to reproduce the behaviour

dtoverlay=i2c-sensor,max17040

Device (s)

Raspberry Pi 4 Mod. B

System

LineageOS 20

Logs

rpi4:/ # i2cdetect 1
Probe chips 0x03-0x77 on bus 1? (Y/n):Y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- 36 -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
rpi4:/ # ls /sys/class/i2c-dev/i2c-1/device/
1-0068  delete_device  device  i2c-dev  name  new_device  of_node  power  subsystem  uevent

Additional context

No response

Waveshare xinch DSI touchscreen recovery support

Describe the bug

In #32 you have added support for Waveshare DSI touchscreen. It is working fine and even booting into recovery enables the display after kernel upgrade (I mean screen is on). However nothing shows on the screen.

Do you know what is missing and if this can be easily fixed (i.e. in next release)?

Steps to reproduce the behaviour

Boot into recovery.

Device (s)

Raspberry Pi 4 Mod. B

System

LineageOS 20.0-20230505-UNOFFICIAL-KonstaKANG-rpi4 with AOSP13-20230426-KonstaKANG-rpi4-6.1-kernel.zip

Logs

No response

Additional context

No response

camera device

Buon giorno, sto cercando di modificare il kernel per raspberry pi, dal momento che al livello hardware rasperry non ha webcam interne (come lo smatphone) a cui collegarsi durante la connessione, se cortesemente potesse indicarmi dove si trova la configurazione API relativa alla webcam di sistema ?

tigervnc screen didnt display mouse icon

Describe the bug

tigervnc screen didnt display mouse icon

Steps to reproduce the behaviour

tigervnc connected vnc server of lineageos20

Device (s)

Raspberry Pi 4 Mod. B

System

rpi4:/ $ uname -a
Linux localhost 5.15.74-v8-ga9455b88085b #1 SMP PREEMPT Tue Oct 18 17:10:34 UTC 2022 aarch64 Toybox
rpi4:/ $ cat /etc/rpi-issue
cat: /etc/rpi-issue: No such file or directory
1|rpi4:/ $ vcgencmd version
VCHI initialization failed

Logs

test.log

Additional context

No response

Full build but not get the zImage.img

Dear Sirs

I used the command which is "mka -j4 kernel ramdisk systemimage vendorimage".
But It doesn't produce the boot image.
Could you please tell me how can make it @@?

Thanks ^_^

image

PS4 Controller support

Describe the bug

Hello,

I don't really know if i'm in the right place, I think i am. it seems that it's not possible to pair a bluetooth ps4 controller to the raspberry pi 4 under lieage-rpi (with Gapps for Android TV installed)

Steps to reproduce the behaviour

Take a ps4 controller press the SHARE and the PS button at the same time (the controller ligh should blink in white)
Go to bluetooth setting, you should see the controller ready to be paired, click on it to begin the paring process, then nothing happen, where you should have a paring request to confirm (that never occurs).

Device (s)

Raspberry Pi 4 Mod. B

System

255|rpi4:/ $ cat /etc/rpi-issue
cat: /etc/rpi-issue: No such file or directory
1|rpi4:/ $ vcgencmd version
VCHI initialization failed
255|rpi4:/ $ uanme -a
/system/bin/sh: uanme: inaccessible or not found
127|rpi4:/ $

Logs

No response

Additional context

No response

ifconfig does not work

If I try ifconfig in the terminal I get the following error:
ifconfig socket 2 0 operation not permitted

Lineage 18.1

Any idea why?

Microphone does not work with rpi4

Hi ,
I tried this rpi4 image and found everything works except for microphone. In both 3.5 audio jack and with Bluetooth.

The recorder app crashed is I tried to record audio. Skype call does not have voice.
While the same works with rpi3. This is after running rpi4-audio.sh.
Am I missing something

Can integrate ssh and vnc

I want to use ssh and vnc on Android. Does this ROM support? In addition, I found that I am building lineage17 on rpi4B, it will restart after unplugging the screen

Great work!Thanks!

Hi,sir! Thanks for your big efffort !
and btw,how to build it for raspberry pi 4? would you do me a fovar to give some instructions? thanks!

Accessing Peripherals from Android SDK?

Describe the bug

I feel this must be a simple issue, however I am not a linux/android OS developer. I was wondering how to access the deivice hardware, specifically the SPI port. I see that there is a SPI port provided but the method provided for the Android of Things (PeripheralManager) does not exist on the device (shared libraries). I am referencing these docs on the manager, https://developer.android.com/things/training/first-device/peripherals. Any information would be great or some docs, thanks again.

Expected behaviour
Add a clear and concise description of what you expected to happen.

val manager = PeripheralManager.getInstance();

is expected to return the manager, instead an exception is thrown.

Actual behaviour
Add a clear and concise description of what actually happened.

an exception is thrown saying it cant find the library.

low volume Microphone

hello KonstaKang, thank you for your great and great work I have tried lineage os 17.1 and 18.1 on raspberry pi4 2Gb and it works great with Gapp and 10 "usb touchscreen and HDMI audio. Great for a custom tablet, I have a single problem with the USB microphone , I clarify "with various softphone apps such as linphone, zoiper, PortSip etc. .. the audio of the microphone is low or not heard at all.

kernel build steps

Hi,

Can you post instructions on how to build this kernel?
What's the cross compiler? Config used?

Thanks
Lucas

TV doesn't recognize CEC

Describe the bug

I have an old LG TV with Simplink support. I've captured some CEC sommunication between the rpi and the TV, hope it helps.

Steps to reproduce the behaviour

I've just connected the rpi to the TV...

Device (s)

Raspberry Pi 4 Mod. B

System

rpi4:/ # raspinfo
/system/bin/sh: raspinfo: inaccessible or not found
127|rpi4:/ # cat /etc/rpi-issue
cat: /etc/rpi-issue: No such file or directory
1|rpi4:/ # vcgencmd version
Jan 18 2023 12:28:54 
Copyright (c) 2012 Broadcom
version 658f02cc8edcb68a568273f05d2b6ceede181e15 (clean) (release) (start_x)
rpi4:/ # uname -a
Linux localhost 5.15.106-v8-g8d0475872f62 #1 SMP PREEMPT Tue May 2 12:00:51 UTC 2023 aarch64 Toybox

Logs

Received from TV to all (0 to 15): DEVICE_VENDOR_ID (0x87):
       vendor-id: 57489 (0x0000e091)
Received from TV to Playback Device 1 (0 to 4): GIVE_DEVICE_VENDOR_ID (0x8c)
Transmitted by Playback Device 1 to all (4 to 15): DEVICE_VENDOR_ID (0x87):
       vendor-id: 3075 (0x00000c03)
Received from TV to Playback Device 1 (0 to 4): GIVE_DEVICE_POWER_STATUS (0x8f)
Transmitted by Playback Device 1 to TV (4 to 0): REPORT_POWER_STATUS (0x90):
       pwr-state: on (0x00)
Received from TV to Playback Device 1 (0 to 4): GIVE_PHYSICAL_ADDR (0x83)
Transmitted by Playback Device 1 to all (4 to 15): REPORT_PHYSICAL_ADDR (0x84):
       phys-addr: 3.0.0.0
       prim-devtype: playback (0x04)
Received from TV to Playback Device 1 (0 to 4): VENDOR_COMMAND (0x89):
       vendor-specific-data: 0x04 0x00
Transmitted by Playback Device 1 to TV (4 to 0): FEATURE_ABORT (0x00):
       abort-msg: 137 (0x89, VENDOR_COMMAND)
       reason: refused (0x04)
Received from TV to all (0 to 15): DEVICE_VENDOR_ID (0x87):
       vendor-id: 57489 (0x0000e091)
Received from TV to Playback Device 1 (0 to 4): GIVE_DECK_STATUS (0x1a):
       status-req: on (0x01)
Transmitted by Playback Device 1 to TV (4 to 0): FEATURE_ABORT (0x00):
       abort-msg: 26 (0x1a, GIVE_DECK_STATUS)
       reason: unrecognized-op (0x00)
Received from TV to all (0 to 15): DEVICE_VENDOR_ID (0x87):
       vendor-id: 57489 (0x0000e091)
Received from TV to Playback Device 1 (0 to 4): VENDOR_COMMAND (0x89):
       vendor-specific-data: 0x01
Transmitted by Playback Device 1 to TV (4 to 0): FEATURE_ABORT (0x00):
       abort-msg: 137 (0x89, VENDOR_COMMAND)
       reason: refused (0x04)
Received from TV to all (0 to 15): DEVICE_VENDOR_ID (0x87):
       vendor-id: 57489 (0x0000e091)

Additional context

No response

Add new soundcard

Thanks for the amazing project.
I am running lineage is 18.1 on a raspberry pi 4 4gb variant.
I have a wm8960 soundcard from waveshare.
Can you tell me how I can add and activate the same in the current version?

Goodix i2c touchscreen

First of all thanks for this great work I have a rpi4 4 gb and 7 inche i2c goodix touchscreen
For the official raspberry os i just add a line to config.txt file to make it work
dtoverlay=goodix
And i2c=on
But it not work on lenageos
I tried i2cdetect -1
And i can see 14 reg so the touchscreen work but how to load the driver
What i have to do to make it work

problemi di codice

Buon giorno, ho seguito le istruzioni per compilare una nuova versione del kernel lineage os per raspberry pi dal mio portatile a cui ho aggiunto un unitร  di memoria usb con l'istallazione dell'ultima versione di ubuntu, ma digitando i codici specificati nelle istruzioni il terminale di ubunto non riesce a trovare i file richiesti ?

grazie per l'attenzione.

Second screen

Hi,
I was trying to enable second screen but it seems to not work.
So I enable desktop mode and all related options in settings.
After which if I connect one display everything works fine but as soon as I connect other display,
The main display hangs and eventually both the screen go blank.
I thought might be a screen issue so tried different screens but still getting the same result.
Could you please tell what steps to follow to achieve the same?
The system definitely detects two displays.

Build error

Hi, I was trying to build lineage-19.0 for rpi4, 64-bit by following your instruction in another issue, but here's what I got:

DTC     arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dtb
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-a-plus.dts:2:10: fatal error: arm/bcm2837-rpi-3-a-plus.dts: No such file or directory
    2 | #include "arm/bcm2837-rpi-3-a-plus.dts"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Could you help me with that? Thanks!

error building lineage-19.1 and lineage-18.1 on 'ARCH=arm'

Describe the bug

$ ARCH=arm CROSS_COMPILE=/data/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- make lineageos_rpi4_defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/confdata.o
HOSTCC scripts/kconfig/expr.o
LEX scripts/kconfig/lexer.lex.c
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.oSS
HOSTCC scripts/kconfig/util.o
HOSTLD scripts/kconfig/conf
scripts/Kconfig.include:43: gold linker '/data/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-ld' not supported
make[1]: *** [scripts/kconfig/Makefile:88: lineageos_rpi4_defconfig] Error 1
make: *** [Makefile:619: lineageos_rpi4_defconfig] Error 2

Steps to reproduce the behaviour

  1. ARCH=arm CROSS_COMPILE=/data/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- make clean
  2. ARCH=arm CROSS_COMPILE=/data/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- make lineageos_rpi4_defconfig

Device (s)

Raspberry Pi 4 Mod. B

System

Ubuntu 20.04

Logs

No response

Additional context

No response

Need to build an Rpi4 Lineageos image with custom launcher

Hi,
I want to build an android image that will run a custom launcher and a restricted set of app for students (who can't afford laptop) which will run on rpi4. I found you mention you did not share all device-specific files to build images other than kernel.
I want to understand what modules make Lineageos not suitable for commercial and remove them if possible. I would also appreciate if you could provide device file to build a light version my self. Or please suggest an alternative android which runs on rpi4
Thanks

question: when we will get 64 bit android builds? (arm64-v8a)

(i couldn't find a place to ask it directly, so i post here apologies if it's wrong.)

hi,

after installing lineage os for the rpi 4, i noticed it's only support 32 bit android apps (armeabi-v7a)
while the rpi 4 cpu have a support for 64 bit architecture
(it can support arm64-v8a, for example OMNI android for the rpi 4 have 64 bit builds)

so i wonder, why lineage-os for rpi 4 only have 32 bit builds?
and will we see 64 bit support in the future?

thanks!

arm64-v8a support?

Hello,

I've been looking for a LineageOS build that's arm64 for the raspberry pi 4b.
I was wondering if the latest release on your site is arm64, or is there a way to get it working under arm64 instead of armeabi-v7a

Thanks!

[Question] about porting new sensor driver

Can you teach me how to modify the HAL config(or code) so that HAL can recognize the newly added sensor driver?
For example :
If I add a sensor driver under the kernel/iio folder which name is called bmc150_magn_i2c.
How can I made HAL recognize the newly added sensor ??

Thanks ^_^

image

USB Sound card

Hi, I decided to return to the issue with sound card attached to usb. Here is dmesg and logcat. In fact it looks like it is determined by system but for some reasons it doesnt work (neither mic nor earphones)

logcat
1970-01-01 03:03:04.687 0-0/? I/usb 1-1.3: Product: C-Media USB Headphone Set
1970-01-01 03:03:04.771 0-0/? I/input: C-Media USB Headphone Set as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.3/0003:0D8C:000C.0002/input/input1
1970-01-01 03:03:04.788 0-0/? I/hid-generic 0003: 0D8C:000C.0002: input,hidraw1: USB HID v1.00 Device [C-Media USB Headphone Set ] on usb-0000:01:00.0-1.3/input3
2021-01-27 20:46:09.981 385-535/system_process D/UsbHostManager: USB device attached: vidpid 0d8c:000c mfg/product/ver/serial null/C-Media USB Headphone Set /1.00/null hasAudio/HID/Storage: true/true/false
2021-01-27 20:46:09.986 385-535/system_process D/UsbHostManager: Added device UsbDevice[mName=/dev/bus/usb/001/004,mVendorId=3468,mProductId=12,mClass=0,mSubclass=0,mProtocol=0,mManufacturerName=null,mProductName=C-Media USB Headphone Set ,mVersion=1.00,mSerialNumberReader=com.android.server.usb.UsbSerialReader@51f5e63, mHasAudioPlayback=true, mHasAudioCapture=true, mHasMidi=false, mHasVideoCapture=false, mHasVideoPlayback=false, mConfigurations=[
UsbConfiguration[mId=1,mName=null,mAttributes=160,mMaxPower=50,mInterfaces=[
UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=1,mSubclass=1,mProtocol=0,mEndpoints=[]
UsbInterface[mId=1,mAlternateSetting=0,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[]
UsbInterface[mId=1,mAlternateSetting=1,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[
UsbEndpoint[mAddress=1,mAttributes=9,mMaxPacketSize=200,mInterval=1]]
UsbInterface[mId=2,mAlternateSetting=0,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[]
UsbInterface[mId=2,mAlternateSetting=1,mName=null,mClass=1,mSubclass=2,mProtocol=0,mEndpoints=[
UsbEndpoint[mAddress=130,mAttributes=5,mMaxPacketSize=100,mInterval=1]]
UsbInterface[mId=3,mAlternateSetting=0,mName=null,mClass=3,mSubclass=0,mProtocol=0,mEndpoints=[
UsbEndpoint[mAddress=131,mAttributes=3,mMaxPacketSize=4,mInterval=32]]]]
2021-01-27 20:46:10.032 385-449/system_process D/EventHub: No input device configuration file found for device 'C-Media USB Headphone Set '.
2021-01-27 20:46:10.039 385-449/system_process I/EventHub: New device: id=2, fd=219, path='/dev/input/event1', name='C-Media USB Headphone Set ', classes=0x80000001, configuration='', keyLayout='/vendor/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm', builtinKeyboard=false,
2021-01-27 20:46:10.039 385-449/system_process I/InputReader: Device added: id=3, eventHubId=2, name='C-Media USB Headphone Set ', descriptor='8fc40c86e5ff2b922fa4093b9af21ddfba9f56c9',sources=0x00000101
2021-01-27 20:46:10.049 1534-1534/com.stevesoltys.seedvault D/UsbIntentReceiver: name: null C-Media USB Headphone Set
2021-01-27 20:46:10.317 1072-1656/org.lineageos.audiofx D/AudioFx-AudioOutputChangeListener: onAudioOutputChanged id: 10 type: 22 name: USB-Audio - C-Media USB Headphone Set address: card=2;device=0; [android.media.AudioDeviceInfo@29]
...
extract for alsa

1970-01-01 03:00:17.644 383-383/? E/UsbAlsaJackDetectorJNI: Can't register UsbAlsaJackDetector native methods
2021-01-27 21:33:31.367 383-537/system_process I/UsbAlsaDevice: OUTPUT JACK connected: true
2021-01-27 21:33:31.370 383-537/system_process I/UsbAlsaDevice: INPUT JACK connected: true
2021-01-27 21:37:01.077 383-537/system_process I/UsbAlsaDevice: OUTPUT JACK connected: true
2021-01-27 21:37:01.081 383-537/system_process I/UsbAlsaDevice: INPUT JACK connected: true

dmesg
[ 105.402743] type=1400 audit(1611769490.563:308): avc: denied { syslog_read } for comm="dmesg" scon
[ 152.055097] type=1400 audit(1611769537.213:309): avc: denied { read } for comm="drm-event-liste" p
hal_graphics_composer_default:s0 tclass=netlink_kobject_uevent_socket permissive=1
[ 153.060465] nf_conntrack: default automatic helper assignment has been turned off for security rea
[ 184.536670] usb 1-1.3: new full-speed USB device number 4 using xhci_hcd
[ 184.671146] usb 1-1.3: New USB device found, idVendor=0d8c, idProduct=000c, bcdDevice= 1.00
[ 184.679678] usb 1-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 184.687160] usb 1-1.3: Product: C-Media USB Headphone Set
[ 184.771008] input: C-Media USB Headphone Set as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.3/0003:0D8C:000C.0003/input/input2
[ 184.788570] hid-generic 0003:0D8C:000C.0002: input,hidraw1: USB HID v1.00 Device [C-Media USB Headphone Set ] on usb-0000:01:00.0-1.3/input3

feature request: add support for Raspberry Pi TV HAT

Describe the bug

Could we add support for Raspberry Pi TV HAT?
https://www.raspberrypi.com/products/raspberry-pi-tv-hat/

I suppose we would need Tuner HAL implementation for that, I also asked in the forum:
https://forums.raspberrypi.com/viewtopic.php?t=365478

Steps to reproduce the behaviour

On Android (TV) on RPi, you can't make use of Raspberry Pi TV HAT.

Device (s)

Raspberry Pi 4 Mod. B

System

https://konstakang.com/devices/rpi4/LineageOS20-ATV/

Cannot disable dhcp or set static ip address.

Describe the bug

I want to set static IP address for ethernet. i use ifconfig command using ADB and change the IP address but after reconnecting from ethernet or turn off/on android device the IP Changes.
I think this is cause by DHCP . I cannot a find command or file for disable DHCP in android device.

android device: rpi-4b
os: Android 12 Lineage OS-19.1.

Steps to reproduce the behaviour

DHCP
Ethernet.
Static IP

Device (s)

Raspberry Pi 4 Mod. B

System

firmware version:
version 2a652e2a1ddcf0f358bc6278802ff7d8f1397c2e (clean) (release) (start_x)
OS: Lineage OS 19.1
kernel: Linux localhost 5.10.169-v8-g24a9f8401a3d #1 SMP PREEMPT Tue Mar 7 17:33:56 UTC 2023 aarch64

Logs

No response

Additional context

No response

Device reboots when wifi is enabled

Hi,sir! When I use you 20200813 rom for pi4,it keep rebooting and rebooting, i catch the debug messages from USB ,please take a look at it,thanks!

[   35.187724] type=1400 audit(1597320517.289:101): avc: denied { write } for comm="main" name="tasks" dev="tmpfs" ino=10663 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   35.200637] init: Could not find '[email protected]::IAutoContrast/default' for ctl.interface_start
[   35.219864] type=1400 audit(1597320517.289:101): avc: denied { write } for comm="main" name="tasks" dev="tmpfs" ino=10663 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   35.230787] init: Received control message 'interface_start' for '[email protected]::IDisplayColorCalibration/default' from pid: 146 (/system/bin/hwservicemanager)
[   35.247169] type=1400 audit(1597320517.289:102): avc: denied { open } for comm="main" path="/dev/stune/foreground/tasks" dev="tmpfs" ino=10663 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   35.263288] init: Could not find '[email protected]::IDisplayColorCalibration/default' for ctl.interface_start
[   35.294351] init: Received control message 'interface_start' for '[email protected]::IDisplayModes/default' from pid: 146 (/system/bin/hwservicemanager)
[   35.309852] init: Could not find '[email protected]::IDisplayModes/default' for ctl.interface_start
[   35.320421] init: Received control message 'interface_start' for '[email protected]::IReadingEnhancement/default' from pid: 146 (/system/bin/hwservicemanager)
[   36.851865] type=1400 audit(1597320517.289:102): avc: denied { open } for comm="main" path="/dev/stune/foreground/tasks" dev="tmpfs" ino=10663 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   36.873786] type=1400 audit(1597320518.979:103): avc: denied { write } for comm="main" name="tasks" dev="tmpfs" ino=731 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   36.894704] type=1400 audit(1597320518.979:103): avc: denied { write } for comm="main" name="tasks" dev="tmpfs" ino=731 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   36.915905] type=1400 audit(1597320518.979:104): avc: denied { open } for comm="main" path="/dev/stune/top-app/tasks" dev="tmpfs" ino=731 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   37.175658] type=1400 audit(1597320518.979:104): avc: denied { open } for comm="main" path="/dev/stune/top-app/tasks" dev="tmpfs" ino=731 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1
[   37.198532] type=1400 audit(1597320519.309:105): avc: denied { write } for comm="main" name="tasks" dev="tmpfs" ino=10663 scontext=u:r:zygote:s0 tcontext=u:object_r:device:s0 tclass=file permissive=1 app=com.android.providers.media
[   37.670057] 8<--- cut here ---
[   37.674677] Unable to handle kernel NULL pointer dereference at virtual address 00000ef8
[   37.683157] pgd = 1377b4d8
[   37.685908] [00000ef8] *pgd=13294003, *pmd=00000000
[   37.690882] Internal error: Oops: 206 [#1] PREEMPT SMP ARM
[   37.696454] Modules linked in:
[   37.699562] CPU: 2 PID: 683 Comm: wpa_supplicant Not tainted 5.4.58-v7l-g6c0b7b018b84 #1
[   37.707772] Hardware name: BCM2711
[   37.711246] PC is at brcmf_p2p_send_action_frame+0x3e8/0x9c0
[   37.716994] LR is at brcmf_p2p_send_action_frame+0x19c/0x9c0
[   37.722740] pc : [<c08ebe68>]    lr : [<c08ebc1c>]    psr: 20010013
[   37.729108] sp : d432fad0  ip : 00000000  fp : d432fb24
[   37.734414] r10: 00000000  r9 : ffffffff  r8 : 00000000
[   37.739720] r7 : d3c68800  r6 : 00000001  r5 : d4f0a80c  r4 : d4f0a800
[   37.746345] r3 : 00000400  r2 : 00000000  r1 : 00000006  r0 : 00000000
[   37.752965] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   37.760212] Control: 30c5383d  Table: 13a2a740  DAC: 55555555
[   37.766041] Process wpa_supplicant (pid: 683, stack limit = 0xf9b8e57a)
[   37.772745] Stack: (0xd432fad0 to 0xd4330000)
[   37.777159] fac0:                                     00000304 c04356b8 d432fb24 d432fae8
[   37.785459] fae0: ef803540 c043599c d432fb88 d4fb0620 d4f0b640 00000000 d432fb24 c1806448
[   37.793759] fb00: d41aac34 d432fbb8 d4f0a800 0000002f 00000017 d3c68800 d432fb74 d432fb28
[   37.802057] fb20: c08e1d0c c08eba8c 00000000 00000000 00000017 00000985 d4fb0620 d4ea1008
[   37.810350] fb40: 00000985 5cac72ff d432fb84 d41aac34 d4ea1008 d432fbe4 d4fb0280 d432fbb8
[   37.818643] fb60: d4fb0000 d3a70014 d432fbac d432fb78 c0e597e4 c08e1b64 d432fbac d432fb88
[   37.826941] fb80: c0c6ddac d432fc74 c1806448 d4fb0000 d4ea1008 00000000 d49e9300 d3a70014
[   37.835242] fba0: d432fc34 d432fbb0 c0e4ee60 c0e596dc 00000000 0000003b 00000000 00000000
[   37.843536] fbc0: c115ec34 00000000 c10396f8 d4f06d18 00000000 00000985 00000000 00000000
[   37.851827] fbe0: 00000000 d4f06d18 00000001 000003e8 d41aac34 0000002f 00000000 00000000
[   37.860126] fc00: 00000000 5cac72ff c070cf24 c115fba0 c1412e80 d41aac14 c1806448 d49e9000
[   37.868417] fc20: 00000000 c1895ec0 d432fccc d432fc38 c0c6ea64 c0e4ebf0 c115ea9c 00000000
[   37.876716] fc40: d432fcd4 00000004 c196e258 00000014 d3c6b000 d432fcd4 d432fcdc d432fc68
[   37.885017] fc60: c065488c c02b1dc0 d39ce000 d3348d30 00000164 5f352d63 570002ab d41aac00
[   37.893318] fc80: d41aac10 d41aac14 d3c6b000 c1895ec0 d4fb0000 d4ea1008 d432fcd4 5cac72ff
[   37.901611] fca0: efa50980 00000000 c1806448 c0c6e7e0 d49e9000 d41aac00 00000000 efb57800
[   37.909902] fcc0: d432fd1c d432fcd0 c0c6d774 c0c6e7ec 032c0000 00000000 00000000 00000000
[   37.918194] fce0: 00000000 00000000 00000000 00000000 00000000 5cac72ff 00000000 c189ab50
[   37.926492] fd00: d49e9000 efb57864 00000064 c1895ec0 d432fd34 d432fd20 c0c6de40 c0c6d688
[   37.934792] fd20: efa08240 d49e9000 d432fd74 d432fd38 c0c6ce70 c0c6de18 00000000 c1806448
[   37.943084] fd40: 7fffffff 5cac72ff d432fd74 c1806448 d49e9000 d3823c00 00000000 00000000
[   37.951375] fd60: d432ff4c 00000000 d432fde4 d432fd78 c0c6d1e0 c0c6cc88 00000000 00000000
[   37.959668] fd80: 00000000 00000000 00000000 00000000 d41aac00 00000064 c14124e0 d42db7c0
[   37.967965] fda0: 00000000 000002ab 000003f2 000003f2 00000000 5cac72ff d432fde4 d432ff4c
[   37.976261] fdc0: 00000000 00000000 c1806448 d432fdf4 d4701080 00000000 d432fe44 d432fde8
[   37.984554] fde0: c0bdcf80 c0c6cf0c d432e000 00000000 d432fe44 d432fe00 c0bdd1cc c06e2760
[   37.992845] fe00: d432fe50 d432ff54 b3335cf4 0000000c beff7410 5cac72ff 00000000 c1806448
[   38.001135] fe20: d432ff4c 00000000 d4701080 00000000 d432e000 00000128 d432ff3c d432fe48
[   38.009428] fe40: c0bdd2cc c0bdcda0 00000000 c06547fc 00000000 b3346000 00000064 c0bdcbac
[   38.017719] fe60: 00008000 00000000 d432fe80 5cac72ff 00039e7e 00000000 ffffffff 00000001
[   38.026011] fe80: 00000000 5cac72ff c0bdcbac c1806448 d31e9f00 00000010 00000000 00000000
[   38.034302] fea0: d4701080 00000126 d432ff24 c03a11c4 c1940ca8 c1806448 c181c110 d432ff68
[   38.042594] fec0: d3823c00 beff7468 d432ff64 00000001 d432ff54 d432fee0 c03a11c4 c02b1dc0
[   38.050886] fee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   38.059177] ff00: d432ff70 d432ff6c d3823c00 00000000 00000000 5cac72ff 0000000a c1806448
[   38.067468] ff20: beff7418 d4701080 00000000 00000000 d432ffa4 d432ff40 c0bdecb4 c0bdd25c
[   38.075760] ff40: 00000000 00000000 d432ffa4 d432fe94 0000000c 00000005 00000000 00000000
[   38.084051] ff60: d432fe5c 00000000 0000000a 00000000 00000000 00000000 00000000 5cac72ff
[   38.092342] ff80: b3346063 beff7418 00000000 b3335c40 00000128 c02011c4 00000000 d432ffa8
[   38.100633] ffa0: c0201000 c0bdec0c beff7418 00000000 00000007 beff7418 00000000 beff7468
[   38.108925] ffc0: beff7418 00000000 b3335c40 00000128 0c278835 b3335c40 b3cba260 beff74a8
[   38.117217] ffe0: b334e200 beff73f8 b36712cb b3c9aef0 40010010 00000007 00000000 00000000
[   38.125507] Backtrace: 
[   38.127989] [<c08eba80>] (brcmf_p2p_send_action_frame) from [<c08e1d0c>] (brcmf_cfg80211_mgmt_tx+0x1b4/0x2c0)
[   38.138046]  r10:d3c68800 r9:00000017 r8:0000002f r7:d4f0a800 r6:d432fbb8 r5:d41aac34
[   38.145983]  r4:c1806448
[   38.148553] [<c08e1b58>] (brcmf_cfg80211_mgmt_tx) from [<c0e597e4>] (cfg80211_mlme_mgmt_tx+0x114/0x3c8)
[   38.158079]  r10:d3a70014 r9:d4fb0000 r8:d432fbb8 r7:d4fb0280 r6:d432fbe4 r5:d4ea1008
[   38.166017]  r4:d41aac34
[   38.168584] [<c0e596d0>] (cfg80211_mlme_mgmt_tx) from [<c0e4ee60>] (nl80211_tx_mgmt+0x27c/0x3a4)
[   38.177493]  r10:d3a70014 r9:d49e9300 r8:00000000 r7:d4ea1008 r6:d4fb0000 r5:c1806448
[   38.185431]  r4:d432fc74
[   38.187998] [<c0e4ebe4>] (nl80211_tx_mgmt) from [<c0c6ea64>] (genl_rcv_msg+0x284/0x4d8)
[   38.196114]  r10:c1895ec0 r9:00000000 r8:d49e9000 r7:c1806448 r6:d41aac14 r5:c1412e80
[   38.204052]  r4:c115fba0
[   38.206618] [<c0c6e7e0>] (genl_rcv_msg) from [<c0c6d774>] (netlink_rcv_skb+0xf8/0x12c)
[   38.214645]  r10:efb57800 r9:00000000 r8:d41aac00 r7:d49e9000 r6:c0c6e7e0 r5:c1806448
[   38.222582]  r4:00000000
[   38.225148] [<c0c6d67c>] (netlink_rcv_skb) from [<c0c6de40>] (genl_rcv+0x34/0x44)
[   38.232735]  r8:c1895ec0 r7:00000064 r6:efb57864 r5:d49e9000 r4:c189ab50
[   38.239531] [<c0c6de0c>] (genl_rcv) from [<c0c6ce70>] (netlink_unicast+0x1f4/0x284)
[   38.247293]  r5:d49e9000 r4:efa08240
[   38.250916] [<c0c6cc7c>] (netlink_unicast) from [<c0c6d1e0>] (netlink_sendmsg+0x2e0/0x3f8)
[   38.259296]  r10:00000000 r9:d432ff4c r8:00000000 r7:00000000 r6:d3823c00 r5:d49e9000
[   38.267233]  r4:c1806448
[   38.269799] [<c0c6cf00>] (netlink_sendmsg) from [<c0bdcf80>] (____sys_sendmsg+0x1ec/0x250)
[   38.278179]  r10:00000000 r9:d4701080 r8:d432fdf4 r7:c1806448 r6:00000000 r5:00000000
[   38.286116]  r4:d432ff4c
[   38.288681] [<c0bdcd94>] (____sys_sendmsg) from [<c0bdd2cc>] (___sys_sendmsg+0x7c/0xa8)
[   38.296797]  r10:00000128 r9:d432e000 r8:00000000 r7:d4701080 r6:00000000 r5:d432ff4c
[   38.304734]  r4:c1806448
[   38.307298] [<c0bdd250>] (___sys_sendmsg) from [<c0bdecb4>] (sys_sendmsg+0xb4/0xe0)
[   38.315061]  r8:00000000 r7:00000000 r6:d4701080 r5:beff7418 r4:c1806448
[   38.321858] [<c0bdec00>] (sys_sendmsg) from [<c0201000>] (ret_fast_syscall+0x0/0x28)
[   38.329709] Exception stack(0xd432ffa8 to 0xd432fff0)
[   38.334827] ffa0:                   beff7418 00000000 00000007 beff7418 00000000 beff7468
[   38.343118] ffc0: beff7418 00000000 b3335c40 00000128 0c278835 b3335c40 b3cba260 beff74a8
[   38.351409] ffe0: b334e200 beff73f8 b36712cb b3c9aef0
[   38.356527]  r8:c02011c4 r7:00000128 r6:b3335c40 r5:00000000 r4:beff7418
[   38.363322] Code: e3a06001 e5c43119 eaffffca e5942024 (e5922ef8) 
[   38.392961] ---[ end trace fc639dc6ca8b59a2 ]---
[   38.408325] Kernel panic - not syncing: Fatal exception
[   38.413643] CPU1: stopping
[   38.416389] CPU: 1 PID: 200 Comm: main Tainted: G      D           5.4.58-v7l-g6c0b7b018b84 #1
[   38.425121] Hardware name: BCM2711
[   38.428564] Backtrace: 
[   38.431048] [<c020dbd4>] (dump_backtrace) from [<c020ded0>] (show_stack+0x20/0x24)
[   38.438724]  r6:00000000 r5:c18a9a0c r4:60070193 r3:5cac72ff
[   38.444462] [<c020deb0>] (show_stack) from [<c0e8baa0>] (dump_stack+0xd0/0x114)
[   38.451875] [<c0e8b9d0>] (dump_stack) from [<c0212248>] (handle_IPI+0x3a8/0x424)
[   38.459373]  r9:c1806bb4 r8:f0815000 r7:00000001 r6:c18bef60 r5:c16c2950 r4:00000004
[   38.467225] [<c0211ea0>] (handle_IPI) from [<c0202310>] (gic_handle_irq+0x84/0x88)
[   38.474900]  r10:d1cc3044 r9:d391a000 r8:f0815000 r7:f0814000 r6:d391bd38 r5:f081400c
[   38.482838]  r4:c1806ef4
[   38.485401] [<c020228c>] (gic_handle_irq) from [<c0201a3c>] (__irq_svc+0x5c/0x94)
[   38.492986] Exception stack(0xd391bd38 to 0xd391bd80)
[   38.498104] bd20:                                                       d1cbe380 d40a8f40
[   38.506396] bd40: d40bd454 d40bd450 00000002 00000001 d1cc3000 d40a8f18 d1cbe388 d40a8f18
[   38.514687] bd60: d1cc3044 d391bd9c d40c2480 d391bd88 00000002 c03f9acc 80070013 ffffffff
[   38.522979]  r8:d1cbe388 r7:d391bd6c r6:ffffffff r5:80070013 r4:c03f9acc r3:00000002
[   38.530833] [<c03f9a78>] (anon_vma_interval_tree_insert) from [<c0410718>] (anon_vma_clone+0xf0/0x1f8)
[   38.540269]  r5:d40d6160 r4:d1cbe380
[   38.543889] [<c0410628>] (anon_vma_clone) from [<c0410854>] (anon_vma_fork+0x34/0x14c)
[   38.551916]  r10:d1cbff40 r9:d1cbff30 r8:d4646f40 r7:d1cc3000 r6:d3e29c00 r5:d3833480
[   38.559854]  r4:d1cc3000
[   38.562419] [<c0410820>] (anon_vma_fork) from [<c022a5fc>] (dup_mm+0x3c8/0x4b8)
[   38.569829]  r9:d1cbff30 r8:d4646f40 r7:d1cc3000 r6:d3e29c00 r5:d3833480 r4:00000001
[   38.577681] [<c022a234>] (dup_mm) from [<c022bf68>] (copy_process+0x153c/0x18f4)
[   38.585179]  r10:d1c914bc r9:00000000 r8:01200000 r7:d4b2e800 r6:d1c91040 r5:00000000
[   38.593115]  r4:d4e2f5b8
[   38.595681] [<c022aa2c>] (copy_process) from [<c022c538>] (_do_fork+0x9c/0x424)
[   38.603092]  r10:00000078 r9:d391bf58 r8:00000000 r7:c1806448 r6:5cac72ff r5:b12cddc8
[   38.611028]  r4:c1806448
[   38.613594] [<c022c49c>] (_do_fork) from [<c022cb2c>] (sys_clone+0xa0/0xa8)
[   38.620652]  r10:00000078 r9:d391a000 r8:c02011c4 r7:00000078 r6:5cac72ff r5:b12cddc8
[   38.628589]  r4:c1806448
[   38.631154] [<c022ca8c>] (sys_clone) from [<c0201000>] (ret_fast_syscall+0x0/0x28)
[   38.638826] Exception stack(0xd391bfa8 to 0xd391bff0)
[   38.643944] bfa0:                   b12cddc8 00000001 01200011 00000000 00000000 00000000
[   38.652235] bfc0: b12cddc8 00000001 be969954 00000078 000000c8 000000c8 af589260 b0e92140
[   38.660526] bfe0: be969918 be969908 af5327db af52c7cc
[   38.665644]  r6:be969954 r5:00000001 r4:b12cddc8
[   38.670322] CPU2: stopping
[   38.673064] CPU: 2 PID: 1181 Comm: Jit thread pool Tainted: G      D           5.4.58-v7l-g6c0b7b018b84 #1
[   38.682854] Hardware name: BCM2711
[   38.686296] Backtrace: 
[   38.688775] [<c020dbd4>] (dump_backtrace) from [<c020ded0>] (show_stack+0x20/0x24)
[   38.696450]  r6:00000000 r5:c18a9a0c r4:600d0193 r3:5cac72ff
[   38.702187] [<c020deb0>] (show_stack) from [<c0e8baa0>] (dump_stack+0xd0/0x114)
[   38.709600] [<c0e8b9d0>] (dump_stack) from [<c0212248>] (handle_IPI+0x3a8/0x424)
[   38.717097]  r9:c1806bb4 r8:f0815000 r7:00000002 r6:c18bef60 r5:c16c2950 r4:00000004
[   38.724950] [<c0211ea0>] (handle_IPI) from [<c0202310>] (gic_handle_irq+0x84/0x88)
[   38.732625]  r10:a4c2f368 r9:00000017 r8:f0815000 r7:f0814000 r6:d26c3fb0 r5:f081400c
[   38.740561]  r4:c1806ef4
[   38.743125] [<c020228c>] (gic_handle_irq) from [<c0201dac>] (__irq_usr+0x4c/0x60)
[   38.750710] Exception stack(0xd26c3fb0 to 0xd26c3ff8)
[   38.755829] 3fa0:                                     a4cb78f0 a4cb7480 a4cb7398 00000006
[   38.764121] 3fc0: a4ca8eb0 a4cb7040 a4ca8ed4 00000006 00000000 00000017 a4c2f368 a4cb77a8
[   38.772412] 3fe0: 00000000 9ec043d8 a31c0ced a31c0d90 200d0030 ffffffff
[   38.779117]  r8:30c5387d r7:30c5383d r6:ffffffff r5:200d0030 r4:a31c0d90 r3:a4cb78f0
[   38.786967] CPU0: stopping
[   38.789709] CPU: 0 PID: 231 Comm: surfaceflinger Tainted: G      D           5.4.58-v7l-g6c0b7b018b84 #1
[   38.799321] Hardware name: BCM2711
[   38.802764] Backtrace: 
[   38.805242] [<c020dbd4>] (dump_backtrace) from [<c020ded0>] (show_stack+0x20/0x24)
[   38.812917]  r6:00000000 r5:c18a9a0c r4:600f0193 r3:5cac72ff
[   38.818653] [<c020deb0>] (show_stack) from [<c0e8baa0>] (dump_stack+0xd0/0x114)
[   38.826064] [<c0e8b9d0>] (dump_stack) from [<c0212248>] (handle_IPI+0x3a8/0x424)
[   38.833563]  r9:c1806bb4 r8:f0815000 r7:00000000 r6:c18bef60 r5:c16c2950 r4:00000004
[   38.841415] [<c0211ea0>] (handle_IPI) from [<c0202310>] (gic_handle_irq+0x84/0x88)
[   38.849089]  r10:00000000 r9:b06df810 r8:f0815000 r7:f0814000 r6:d3e27fb0 r5:f081400c
[   38.857027]  r4:c1806ef4
[   38.859591] [<c020228c>] (gic_handle_irq) from [<c0201dac>] (__irq_usr+0x4c/0x60)
[   38.867176] Exception stack(0xd3e27fb0 to 0xd3e27ff8)
[   38.872295] 7fa0:                                     00000004 00000003 00000000 00000003
[   38.880587] 7fc0: b06a91a0 b06df928 b061d6f8 00000000 b06dfb04 b06df810 00000000 b2621668
[   38.888878] 7fe0: b26e07bc bef21e18 b26492c9 b2e58eba 600f0030 ffffffff
[   38.895583]  r8:30c5387d r7:30c5383d r6:ffffffff r5:600f0030 r4:b2e58eba r3:00000004
[   38.903444] Rebooting in 5 seconds..

It seems that the wlan supplant has something wrong,would you build a room without the wifi enabled by default? Then I cam debug it and report the result to you,thanks!

Cannot boot from compiled image

Following the build instructions in #10, I compiled the kernel as part of Android build on the lineage-17.1 branch. The compliation was sucessful, producing artifacts like system.img and zImage as expected. Then I created a flashable image using mkimg.sh. So far so good.

However, I noticed my image is quite different from the prebuilt image. For example, there's no /boot directory in system.img, so when I tried to boot the system, it complains that the boot partition cannot be mounted. Even after I manually create a /boot directory, the boot process fails with various errors. Here's a log of the booting process on pastebin.

Did I mess up at some point? I would appreciate guidance on how to proceed.

Two displays crash it...

Describe the bug
Connecting a second HDMI cable causes the OS to crash (In the TV build haven't tested the non TV build yet). I tried booting with the second display connected and got the same result.

Glodroid was able to support this but the latest build pre-release doesn't seem to have the correct 3D drivers considering things were laggy.

To reproduce
Simply connect a second display.

Expected behaviour
Android to detect/extend the display to the second display and see it as a "presentation" display.

Actual behaviour
The system crashed continuously, or at least froze up.

System
There's no raspinfo on this android build.

  • Which model of Raspberry Pi? RPI4 8gb
  • Which OS and version (cat /etc/rpi-issue)? N/A your TV build
  • Which firmware version (vcgencmd version)? N/A
  • Which kernel version (uname -a)? Linux localhost 5.4.155-v8-g82b4c40efffe #1 SMP PREEMPT Tue Oct 26 11:17:43 EEST 2021 aarch64

Logs
dmesg

[  443.868944] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  454.108944] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  464.348940] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CONNECTOR:38:HDMI-A-2] flip_done timed out
[  474.588924] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  484.828903] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  495.068915] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
[  505.308921] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  515.548929] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  525.788885] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
[  536.028910] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
[  546.268924] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  556.508934] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  566.748922] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
[  576.988935] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
[  587.228919] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  597.468921] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  607.708927] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
[  617.948938] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
[  628.188935] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  638.428954] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
[  648.668922] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
[  658.908917] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
[  669.148929] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out

logcat

11-02 02:01:54.964   227   295 I hwc-drm-connector: force mode to 1920x1080@0Hz
11-02 02:01:54.991   227   295 I hwc-drm-connector: force mode to 1920x1080@0Hz
11-02 02:01:55.017   227   295 D hwc-drm-connector: add new mode [email protected] id 8 for display 1
11-02 02:01:55.017   227   295 D hwc-drm-connector: add new mode [email protected] id 9 for display 1
11-02 02:01:55.017   227   295 D hwc-drm-connector: add new mode [email protected] id 10 for display 1
11-02 02:01:55.017   227   295 D hwc-drm-connector: add new mode [email protected] id 11 for display 1
11-02 02:01:55.017   227   295 D hwc-drm-connector: add new mode [email protected] id 12 for display 1
11-02 02:01:55.018   227   295 I hwc-drm-two: Plug event @8763981346 for connector 38 on display 1
11-02 02:01:55.018   227   295 I hwc-drm-connector: force mode to 1920x1080@0Hz
11-02 02:01:55.070   243   243 E HWComposer: isConnected failed for display 1: Invalid display
11-02 02:01:55.039   227   227 I drm-event-liste: type=1400 audit(0.0:255): avc: denied { read } for path="socket:[13110]" dev="sockfs" ino=13110 scontext=u:r:hal_graphics_composer_default:s0 tcontext=u:r:hal_graphics_composer_default:s0 tclass=netlink_kobject_uevent_socket permissive=1
11-02 02:01:55.071   227   304 I hwc-drm-connector: force mode to 1920x1080@0Hz
11-02 02:01:55.099   243   243 E HWComposer: getDisplayConnectionType: getDisplayConnectionType failed for display 1: Unsupported (8)
11-02 02:01:55.099   243   243 I FramebufferSurface: framebuffer size has been limited to [1920x1080] from [1920x1080]
11-02 02:01:55.102   243   434 W SurfaceFlinger: Can't find offset for 74.97 fps
11-02 02:01:55.104   243   434 E HWComposer: getSupportedContentTypes: getSupportedContentTypes failed for display 1: Unsupported (8)
11-02 02:00:36.603   396   414 D AutofillManagerService: onBackKeyPressed()
11-02 02:01:55.105   396   416 I DisplayManagerService: Display device added: DisplayDeviceInfo{"HDMI Screen": uniqueId="local:1", 1920 x 1080, modeId 7, defaultModeId 7, supportedModes [{id=4, width=1920, height=1080, fps=50.0}, {id=5, width=1920, height=1080, fps=59.9402}, {id=6, width=1920, height=1080, fps=74.9725}, {id=7, width=1920, height=1080, fps=60.000004}], colorMode 0, supportedColorModes [0], HdrCapabilities HdrCapabilities{mSupportedHdrTypes=[], mMaxLuminance=500.0, mMaxAverageLuminance=500.0, mMinLuminance=0.0}, allmSupported false, gameContentTypeSupported false, density 213, 320.0 x 320.0 dpi, appVsyncOff 1000000, presDeadline 16666666, touch EXTERNAL, rotation 0, type EXTERNAL, address {port=1}, deviceProductInfo null, state UNKNOWN, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION}
11-02 02:01:55.120   243   243 D SurfaceFlinger: Setting power mode 2 on display 1
11-02 02:01:55.121   243   243 D SurfaceFlinger: Finished setting power mode 2 on display 1
11-02 02:01:55.135   396   416 I DisplayManagerService: Display device changed state: "HDMI Screen", ON
11-02 02:01:55.162   396   414 I WindowManager: Override config changes=20005df8 {0.0 ?mcc?mnc ?localeList ?layoutDir sw811dp w1442dp h811dp 213dpi xlrg long land ?uimode ?night -touch qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1920, 1080) mAppBounds=Rect(0, 0 - 1920, 1080) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0}} for displayId=1
11-02 02:01:55.164   544   544 W DisplayController: Skipping Display Configuration change on non-added display.
11-02 02:01:55.173   396   416 I InputManager-JNI: Viewport [0] to add: local:0, isActive: true
11-02 02:01:55.173   396   416 I InputManager-JNI: Viewport [1] to add: local:1, isActive: true
11-02 02:01:55.175   396   461 I InputReader: Reconfiguring input devices, changes=DISPLAY_INFO |
11-02 02:01:55.188  1572  1572 W PX      : RR: false type:
11-02 02:01:55.400   396   396 W NotificationHistory: Attempted to add notif for locked/gone/disabled user 0
11-02 02:01:57.607   396   431 E LightsService: Light requested not available on this device. 2
12-31 16:07:23.868     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:07:34.108     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:07:44.348     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CONNECTOR:38:HDMI-A-2] flip_done timed out
12-31 16:07:54.588     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
11-02 02:02:40.804   396   408 W System  : A resource failed to call release.
12-31 16:08:04.828     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:08:15.068     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:08:25.308     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:08:35.548     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:08:45.788     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:08:56.028     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
11-02 02:02:40.804   396   408 W System  : A resource failed to call release.
11-02 02:03:45.156   396   460 E LightsService: Light requested not available on this device. 2
11-02 02:03:46.067   396   413 D AutofillManagerService: Close system dialogs
11-02 02:03:46.076   544   544 D NavigationModeController: getCurrentInteractionMode: mode=0 contextUser=0
11-02 02:03:46.085   544   544 D NavigationModeController: getCurrentInteractionMode: mode=0 contextUser=0
11-02 02:03:46.088   544   544 V OverviewProxyService: Cannot attempt connection, is enabled false
11-02 02:03:46.108   243   337 W SurfaceFlinger: Can't find offset for 74.97 fps
12-31 16:09:06.268     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:09:16.508     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
11-02 02:04:05.009   396   431 E LightsService: Light requested not available on this device. 2
12-31 16:09:26.748     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:09:36.988     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:09:47.228     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:09:57.468     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:10:07.708     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:10:17.948     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:10:28.188     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:10:38.428     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:10:48.668     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:10:58.908     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:11:09.148     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:11:19.388     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:11:29.628     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:11:39.868     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:11:50.108     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:12:00.348     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:12:10.588     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:12:20.828     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:12:31.068     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:12:41.308     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:12:51.548     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:13:01.788     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:13:12.028     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:13:22.268     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:13:32.508     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:13:42.748     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:13:52.988     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:14:03.228     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:14:13.468     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:14:23.708     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:14:33.948     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:14:44.188     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:14:54.428     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out
12-31 16:15:04.668     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:80:plane-5] flip_done timed out
12-31 16:15:14.908     0     0 E         : [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:72:crtc-3] flip_done timed out
12-31 16:15:25.148     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:72:crtc-3] flip_done timed out
11-02 02:05:58.247  1632  1632 I dmesg   : type=1400 audit(0.0:256): avc: denied { syslog_read } for scontext=u:r:shell:s0 tcontext=u:r:kernel:s0 tclass=system permissive=1
11-02 02:06:15.087   396   446 D WifiNl80211Manager: Scan result ready event
11-02 02:06:15.087   396   446 D WifiNative: Scan result ready event
11-02 02:06:15.089   396   413 I EthernetTracker: interfaceLinkStateChanged, iface: wlan0, up: true
11-02 02:08:55.096   396   447 D WifiNl80211Manager: Scan result ready event
11-02 02:08:55.097   396   447 D WifiNative: Scan result ready event
11-02 02:08:55.098   396   413 I EthernetTracker: interfaceLinkStateChanged, iface: wlan0, up: true
12-31 16:15:28.574     0     0 D logd    : logdr: UID=2000 GID=2000 PID=1637 b tail=0 logMask=99 pid=0 start=0ns timeout=0ns
12-31 16:15:35.388     0     0 E         : [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:66:plane-3] flip_done timed out

Additional context
Both displays are 1080p 60hz, connected via the micro HDMI ports both work independently on their own, and this works in glodroid as well as standard android just not this build for some reason; was gonna try enabling the CRTC stuff in the raspi settings since it seems to complain about that but really have no idea what's going on haven't dug far enough into the logs above to determine why it's failing.

Any docmuments for rebuilding your built LineageOS 17.1 image?

It's wonderful to find "LineageOS 17.1 (Android 10) for Raspberry Pi 4", and I want to use the raspberryPi4 as the Android 10 target development board, so if there is any documents about how to rebuild the the LineageOS 17.1 (Android 10) image for raspberryPi4?

Something like:

repo init XXXX, 
repo sync
make XXX

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.