changes one GPIO17 make change another GPIO16
This post is deleted!
I have tried to just give power and short-circuit the GPIO16 to the ground, LEDs 16 and 17 turned on.
On GPIO17 0,2V!
on 5 sec booting Omega 2s on GPIO17 voltage changed to 1,16V and led17 has half brightness
[ 5.082253] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 5.369089] usbcore: registered new interface driver usbfs [ 5.374833] usbcore: registered new interface driver hub [ 5.380329] usbcore: registered new device driver usb [ 5.391769] exFAT: Version 1.2.9 [ 5.429882] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.445925] SCSI subsystem initialized [ 5.455363] ehci-platform: EHCI generic platform driver [ 5.471029] phy phy-10120000.usbphy.0: remote usb device wakeup disabled [ 5.477840] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz [ 5.483179] ehci-platform 101c0000.ehci: EHCI Host Controller [ 5.489038] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 5.497220] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 5.532951] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 5.540433] hub 1-0:1.0: USB hub found [ 5.544683] hub 1-0:1.0: 1 port detected [ 5.554642] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 5.562524] ohci-platform: OHCI generic platform driver [ 5.568200] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 5.575169] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 5.583314] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 5.657966] hub 2-0:1.0: USB hub found [ 5.662234] hub 2-0:1.0: 1 port detected [ 5.680547] MTK MSDC device init. [ 5.743142] mtk-sd: MediaTek MT6575 MSDC Driver [ 5.754708] sdhci: Secure Digital Host Controller Interface driver [ 5.761004] sdhci: Copyright(c) Pierre Ossman [ 5.767056] sdhci-pltfm: SDHCI platform and OF driver helper [ 5.778046] usbcore: registered new interface driver usb-storage [ 5.791193] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 5.809091] init: - preinit - [ 5.860389] mmc0: new high speed MMC card at address 0001 [ 5.871528] mmcblk0: mmc0:0001 NCard 7.22 GiB [ 5.883474] mmcblk0boot0: mmc0:0001 NCard partition 1 4.00 MiB [ 5.898564] mmcblk0boot1: mmc0:0001 NCard partition 2 4.00 MiB [ 5.914364] mmcblk0: p1
root@Omega-7FEC:/sys/class/gpio# cat gpio16/value 1 root@Omega-7FEC:/sys/class/gpio# cat gpio17/value 1 root@Omega-7FEC:/sys/class/gpio# gpioctl dirout-low 16 Using gpio pin 16. root@Omega-7FEC:/sys/class/gpio# cat gpio17/value 0 root@Omega-7FEC:/sys/class/gpio# cat gpio16/value 0 root@Omega-7FEC:/sys/class/gpio# gpioctl dirout-high 16 Using gpio pin 16. root@Omega-7FEC:/sys/class/gpio# cat gpio16/value 1 root@Omega-7FEC:/sys/class/gpio# cat gpio17/value 1
@Moonshiner can you post the results of lsmod
@Moonshiner Hi，As i recurrent the issue , i found that there is a MT7688 IC bug. between the GPIO16 and GPIO17 ,there has a connected resistance inside the IC, so when GPIO16 and GPIO17 set to input mode ,one of the gpio level change will affect the other one gpio pin.
- when GPIO16 and GPIO17 set to input mode ,you can use a multimeter to test the resistance between the two pin. here i had test two Omega2+ module ,the resistance is about 40K Ω.
- when GPIO16 or GPIO17 set to input mode ,and another GPIO set to output mode ,and the input mode GPIO level state also will be affect by the output mode GPIO.
- how to solve this issue.
For the GPIO(16 or 17) that we need to set to input mode ,we can add a pull-down resistor(10K or 4.7K). I had tested that when add a 10K pull-down resistor on the GPIO16 PIN ,when the GPIO17 has a 3.3v high-level,there is a 1,04v low-level of the GPIO16 PIN. if we need tht GPIO16 has lower level, we can use a 4.7K pull-down resistor.
@JeffZhou Hi, thank you for replay!
It is a pity that this error has surfaced just now.
We are not convinced that such resistor pull-down would be in industrial and stable solution.
So we'll thinking to redo the digital inputs via the I2C expanders.
@JeffZhou if you see my test above I used output mode, but @Moonshiner was showing the issue in output mode according to his test above. Your advice is that the issue in input mode, so it is unclear why @Moonshiner was getting a different result in his test than I did. Has this issue been resolved and only applies to specific production batches?
@crispyoz Hi, Yes ,here i also test the output mode ,if we set GPIO16 & GPIO17 to output mode , every thing can go well ,just like your test above. I had tested Omega2 and Omega2S ,both of them have the same issue when gpio16 or gpio17 set to input mode.
and as the screenshot that @Moonshiner replay, his GPIO17 was set to output mode when GPIO16 was set input mode ,so when the GPIO17's level change ,it will affect the GPIO16's level.
@JeffZhou Yes kewl I see that now, the problem with very long threads