Activity log for bug #1784025

Date Who What changed Old value New value Message
2018-07-27 16:24:02 Paolo Pisati bug added bug
2018-07-30 16:06:01 Paolo Pisati description Impact: The RaspberryPi 3 B Plus is the latest addition in the Raspberry family of boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes) backported from the official https://github.com/raspberrypi/linux rpi-4.9.y tree to enable that board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and try to boot a rpi3bplus with it: eveyrthing should work out of the box. Regression potential: To ease the regression analysis, we can split the patchset in 3 different set of patches: the dts files, the lan driver and the wifi driver. 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are brand new files, and no modification is done to any dts in the tree Patches 0002 to 0005 are the backports modifcation to make the above dts file work in our 4.4 kernel Patch 006 is a fix for the bcm2708_common dts file, included in every RaspberryPi dtb generated - it's a small fix, and the same modification is prensent in the 4.9+ Raspberry dts files too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354). The only regression potential here is patch 0006, but since it's a small fix, and it's even carried in newer kernels, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in those usb to ethernet adapter. While doing this enablement work, i found that the lan7515 driver shipped in our Xenial tree was not working: the driver would attach to the hardware, the interface would show up, packets could be sent, but host os never received any - sniffing the ethernet cable confirmed that traffic was generated, but we the nic was 'deaf'. By adding some debugging in the lan7515 driver, i found out that no interrupt was generated once a package arrived and after some more debugging, i found that reverting the upstream stable 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", would bring my board back to life (patch 0008). "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()). All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrates in a dts environment. There's no regression potential here, since the driver was not working in the first place, and all the other Raspberry boards use a different ethernet driver/chip. 3) the wifi driver The wifi chip used in the rpi3bplus is the same one used in the original rpi3 board, but while here i decided to backports all the isolated fixes that made it into 4.9. There's some regression potential here, but all the code imported actually fixes bugs so i say it's low. Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes - backported from the official https://github.com/raspberrypi/linux rpi-4.9.y tree) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and try to boot a rpi3bplus with it: everything should be working out of the box. Regression potential: To ease the regression analysis, we can split the patchset in 3 different set of patches: the dts files, the lan driver and the wifi driver. 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354). The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream in newer kernels, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attaches, the interface shows up, packets could be sent, but the host os never receives anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once any packet arrives and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()). All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrates in a dts environment. There's no regression potential here, since the driver was not working in the first place, and all the other Raspberry boards use a different ethernet driver/chip. 3) the wifi driver (patches 0019 to 0024) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board (), but uses the same driver: i backported several fixes from the Raspberry tree to make it work... There's some regression potential here, but all the code imported actually fixes bugs so i say it's low.
2018-08-01 10:40:38 Paolo Pisati description Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes - backported from the official https://github.com/raspberrypi/linux rpi-4.9.y tree) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and try to boot a rpi3bplus with it: everything should be working out of the box. Regression potential: To ease the regression analysis, we can split the patchset in 3 different set of patches: the dts files, the lan driver and the wifi driver. 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354). The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream in newer kernels, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attaches, the interface shows up, packets could be sent, but the host os never receives anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once any packet arrives and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()). All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrates in a dts environment. There's no regression potential here, since the driver was not working in the first place, and all the other Raspberry boards use a different ethernet driver/chip. 3) the wifi driver (patches 0019 to 0024) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board (), but uses the same driver: i backported several fixes from the Raspberry tree to make it work... There's some regression potential here, but all the code imported actually fixes bugs so i say it's low. Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, ethernet lan and wifi should work too. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches: 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once packet arrived and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, for now i just reverted it locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, and i actually had to fix it. 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board, but uses the same driver: i backported several fixes from upstream to make it work: all the commits fix an isolated bugs, and can be easily reviewed. There's some regression potential here, but all the code comes from fixes upstream, so i make it as low.
2018-08-01 10:50:11 Paolo Pisati description Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, ethernet lan and wifi should work too. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches: 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once packet arrived and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, for now i just reverted it locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, and i actually had to fix it. 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board, but uses the same driver: i backported several fixes from upstream to make it work: all the commits fix an isolated bugs, and can be easily reviewed. There's some regression potential here, but all the code comes from fixes upstream, so i make it as low. Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, ethernet lan and wifi should work too. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches: 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once packet arrived and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, for now i just reverted it locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, and i actually had to fix it. 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board, but uses the same driver: i backported several fixes from upstream to make it work: all the commits fix an isolated bugs, and can be easily reviewed. There's some regression potential here, but all the code comes from fixes upstream, so i make it as low. In conclusion, when possible, i picked up the upstream version of patches (instead of the one carried in the RaspberryPi branch - https://github.com/raspberrypi/linux rpi-4.9.y), and except for 6 commits: "BCM270X_DT: Add Pi 3+ dts files" "lan78xx: Enable LEDs if no valid EEPROM or OTP" "lan78xx: Read initial EEE status from DT" "lan78xx: Change LEDs to include 10Mb activity" "lan78xx: Ignore DT MAC address if already valid" "lan78xx: Move enabling of EEE into PHY init code" all the the remaining (20 patches out of 26) came from upstream, with varying degrees of adjustment.
2018-08-01 10:50:37 Paolo Pisati description Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, ethernet lan and wifi should work too. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches: 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once packet arrived and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, for now i just reverted it locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, and i actually had to fix it. 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board, but uses the same driver: i backported several fixes from upstream to make it work: all the commits fix an isolated bugs, and can be easily reviewed. There's some regression potential here, but all the code comes from fixes upstream, so i make it as low. In conclusion, when possible, i picked up the upstream version of patches (instead of the one carried in the RaspberryPi branch - https://github.com/raspberrypi/linux rpi-4.9.y), and except for 6 commits: "BCM270X_DT: Add Pi 3+ dts files" "lan78xx: Enable LEDs if no valid EEPROM or OTP" "lan78xx: Read initial EEE status from DT" "lan78xx: Change LEDs to include 10Mb activity" "lan78xx: Ignore DT MAC address if already valid" "lan78xx: Move enabling of EEE into PHY init code" all the the remaining (20 patches out of 26) came from upstream, with varying degrees of adjustment. Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, ethernet lan and wifi should work too. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches: 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once packet arrived and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, for now i just reverted it locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, and i actually had to fix it. 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board, but uses the same driver: i backported several fixes from upstream to make it work: all the commits fix an isolated bugs, and can be easily reviewed. There's some regression potential here, but all the code comes from fixes upstream, so i make it as low. In conclusion, when possible, i picked up the upstream version of patches (instead of the one carried in the RaspberryPi branch - https://github.com/raspberrypi/linux rpi-4.9.y), and except for 6 commits: "BCM270X_DT: Add Pi 3+ dts files" "lan78xx: Enable LEDs if no valid EEPROM or OTP" "lan78xx: Read initial EEE status from DT" "lan78xx: Change LEDs to include 10Mb activity" "lan78xx: Ignore DT MAC address if already valid" "lan78xx: Move enabling of EEE into PHY init code" all the the remaining (20 patches out of 26) came from upstream, with varying degrees of adjustment. I'm proposing this for inclusion in the Xenial raspi2 kernel.
2018-08-01 14:41:03 Paolo Pisati description Impact: The RaspberryPi 3 B Plus is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi fixes) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, ethernet lan and wifi should work too. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches: 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received anything - sniffing the cable confirmed that traffic was generated, but we the NIC was 'deaf'. After some debugging i found that no interrupt was generated once packet arrived and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008. "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, for now i just reverted it locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation, to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, and i actually had to fix it. 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is slightly different from the one used in the original rpi3 board, but uses the same driver: i backported several fixes from upstream to make it work: all the commits fix an isolated bugs, and can be easily reviewed. There's some regression potential here, but all the code comes from fixes upstream, so i make it as low. In conclusion, when possible, i picked up the upstream version of patches (instead of the one carried in the RaspberryPi branch - https://github.com/raspberrypi/linux rpi-4.9.y), and except for 6 commits: "BCM270X_DT: Add Pi 3+ dts files" "lan78xx: Enable LEDs if no valid EEPROM or OTP" "lan78xx: Read initial EEE status from DT" "lan78xx: Change LEDs to include 10Mb activity" "lan78xx: Ignore DT MAC address if already valid" "lan78xx: Move enabling of EEE into PHY init code" all the the remaining (20 patches out of 26) came from upstream, with varying degrees of adjustment. I'm proposing this for inclusion in the Xenial raspi2 kernel. Impact: The RaspberryPi 3 B Plus[1] is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi driver) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, and ethernet lan and wifi should work. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches. 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common, a device tree used in every rpi board dtb - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet dongle. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received any input packets - sniffing the cable confirmed that the chip was generating traffic and receiving reply packets too. After some debugging i found that no interrupt was generated once packet arrived, and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008). "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, but without the datasheet i can't tell what those bits in that register are actually doing - for now i just reverted this patch locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, (and i actually made it work again). 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is very different from the one used in the original rpi3 board (Broadcom BCM43438 vs Cypress CYW43455), but it uses the same driver and i had to backport several fixes from upstream to make it work: all the commits fix isolated bugs, and can be easily reviewed. There's some regression potential here, but all code comes from upstream fixes, so i mark it as low. When possible i picked up the upstream version of the same patch (instead of the one carried in the RaspberryPi branch - https://github.com/raspberrypi/linux rpi-4.9.y), and except for these 6 commits: "BCM270X_DT: Add Pi 3+ dts files" "lan78xx: Enable LEDs if no valid EEPROM or OTP" "lan78xx: Read initial EEE status from DT" "lan78xx: Change LEDs to include 10Mb activity" "lan78xx: Ignore DT MAC address if already valid" "lan78xx: Move enabling of EEE into PHY init code" all the remaining patches (20 out of 26) came from upstream. I'm proposing this for inclusion in the Xenial raspi2 kernel. 1: https://www.raspberrypi.org/blog/raspberry-pi-3-model-bplus-sale-now-35/
2018-08-01 14:45:17 Paolo Pisati description Impact: The RaspberryPi 3 B Plus[1] is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi driver) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, and ethernet lan and wifi should work. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches. 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common, a device tree used in every rpi board dtb - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet dongle. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received any input packets - sniffing the cable confirmed that the chip was generating traffic and receiving reply packets too. After some debugging i found that no interrupt was generated once packet arrived, and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008). "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, but without the datasheet i can't tell what those bits in that register are actually doing - for now i just reverted this patch locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, (and i actually made it work again). 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is very different from the one used in the original rpi3 board (Broadcom BCM43438 vs Cypress CYW43455), but it uses the same driver and i had to backport several fixes from upstream to make it work: all the commits fix isolated bugs, and can be easily reviewed. There's some regression potential here, but all code comes from upstream fixes, so i mark it as low. When possible i picked up the upstream version of the same patch (instead of the one carried in the RaspberryPi branch - https://github.com/raspberrypi/linux rpi-4.9.y), and except for these 6 commits: "BCM270X_DT: Add Pi 3+ dts files" "lan78xx: Enable LEDs if no valid EEPROM or OTP" "lan78xx: Read initial EEE status from DT" "lan78xx: Change LEDs to include 10Mb activity" "lan78xx: Ignore DT MAC address if already valid" "lan78xx: Move enabling of EEE into PHY init code" all the remaining patches (20 out of 26) came from upstream. I'm proposing this for inclusion in the Xenial raspi2 kernel. 1: https://www.raspberrypi.org/blog/raspberry-pi-3-model-bplus-sale-now-35/ Impact: The RaspberryPi 3 B Plus[1] is the latest addition in the family of RaspberryPi boards, and this patchset includes all the necessary bits (dts, lan driver and wifi driver) to enable this board in our 4.4 Xenial raspi2 kernel. How to test: Build this kernel and boot a rpi3bplus with it: the board should boot fine, and ethernet lan and wifi should work. Regression potential: To ease the regression analysis, we can logically split the patchset in 3 different set of patches. 1) the dts files (patches 0001 to 0006) Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. Patch 006 is a fix for the bcm2708_common, a device tree used in every rpi board dtb - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository too (see https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi aroud lines 353-354) - unfortunately they squashed that fix, so i couldn't pick the specific commit. The only regression potential here is patch 0006, but since it's a small fix, and it's even carried upstream, i mark it as low. 2) the lan driver (patches 0008 to 0018) The rpi3bplus comes with a brand new gigabit capable ethernet adapter, driven by the lan 7515 chip, a chip mainly used in usb to ethernet dongle. Unfortunately, the lan7515 driver shipped in our Xenial tree was not working: the driver would attach, the interface shows up, packets could be sent, but the host os never received any input packets - sniffing the cable confirmed that the chip was generating traffic and receiving reply packets too. After some debugging i found that no interrupt was generated once packet arrived, and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate invalid OTP", reverting this would bring my ethernet back to life (patch 0008). "lan78xx: Correctly indicate invalid OTP" originated around 4.17, way after a complete overhaul of the phy code wad done for all the usbnet driver - after more debugging i found that the 4.4 driver ships a workaround to enable phy interrupts (see lan78xx_open()), so i'm thinking there's some correlation between the phy overhaul and this commit, but without the datasheet i can't tell what those bits in that register are actually doing - for now i just reverted this patch locally and made the driver work again. All the other patches (0009 to 0018) are backports of features added to the driver by the Raspberry Foundation to make the driver better integrate in a dts environment. There's literally no regression potential here, since the driver was not working in the first place, (and i actually made it work again). 3) the wifi driver (patches 0019 to 0026) The wifi chip used in the rpi3bplus is very different from the one used in the original rpi3 board (Broadcom BCM43438 vs Cypress CYW43455), but it uses the same driver and i had to backport several fixes from upstream to make it work: all the commits fix isolated bugs, and can be easily reviewed. There's some regression potential here, but all code comes from upstream fixes, so i mark it as low. When possible i picked up the upstream version of the same patch (instead of the one carried in the RaspberryPi branch - https://github.com/raspberrypi/linux rpi-4.9.y), and except for these 6 commits: "BCM270X_DT: Add Pi 3+ dts files" "lan78xx: Enable LEDs if no valid EEPROM or OTP" "lan78xx: Read initial EEE status from DT" "lan78xx: Change LEDs to include 10Mb activity" "lan78xx: Ignore DT MAC address if already valid" "lan78xx: Move enabling of EEE into PHY init code" all the remaining patches (20 out of 26) came from upstream - patches marked with 'cherry-picked...' are clean cherry picks, while the one with 'backported...' required a varying degree of rework to make it apply (and work). I'm proposing this for inclusion in the Xenial raspi2 kernel. 1: https://www.raspberrypi.org/blog/raspberry-pi-3-model-bplus-sale-now-35/
2018-08-02 12:23:05 Launchpad Janitor linux-raspi2 (Ubuntu): status New Confirmed
2018-08-02 12:23:23 Viktor Petersson bug added subscriber Viktor Petersson
2018-08-09 14:17:16 Ikuya Awashiro bug added subscriber Ikuya Awashiro
2018-08-10 00:01:17 Mitsuya Shibata bug added subscriber Mitsuya Shibata
2018-08-10 16:55:56 Alexander Langanke bug added subscriber Alexander Langanke
2018-08-14 08:03:37 Svet Bajlekov bug added subscriber Svet Bajlekov
2018-08-19 18:25:06 MJH bug added subscriber MJH
2018-08-21 14:38:35 Kleber Sacilotto de Souza nominated for series Ubuntu Xenial
2018-08-21 14:38:35 Kleber Sacilotto de Souza bug task added linux-raspi2 (Ubuntu Xenial)
2018-08-21 14:38:41 Kleber Sacilotto de Souza linux-raspi2 (Ubuntu Xenial): status New In Progress
2018-08-27 12:10:50 Kleber Sacilotto de Souza linux-raspi2 (Ubuntu Xenial): status In Progress Fix Committed
2018-08-27 17:20:58 Ian Johnson bug added subscriber Ian Johnson
2018-09-04 04:23:18 Alex Murray bug added subscriber Alex Murray
2018-09-04 21:22:03 Eric Cox bug added subscriber Eric Cox
2018-09-10 18:20:10 Launchpad Janitor linux-raspi2 (Ubuntu Xenial): status Fix Committed Fix Released
2018-10-04 09:48:34 Paolo Pisati linux-raspi2 (Ubuntu): status Confirmed Invalid