hi devs, you may have heard of maranello, a project to add partial packet recovery to 80211, by adding block checksums on transmit, validating them or re-requesting retransmit of corrupted blocks.
http://www.cs.umd.edu/projects/maranello/ the code at the page is for 2.6.29-rc2 Ive applied the patches to a kernel.org tree at 2.6.29-rc2, and then merged releases up to v3.3, resolving conflicts and fixing compile errs as I went. you can get it here: https://github.com/jimc/linux-2.6/tree/maranello/merges Ive attached this, after tagging the 3.2 merge: git diff v3.2..maranello-3.2 > xxx-maranello.patch I havent yet tried this patch on my wrt54g, though I plan to do so. ATM Im running 10.03.1-rc3 iirc. I havent flashed anything to it since, Im reluctant to brick it, Im hoping that someone more comfortable than I will at least inspect it 1st. FWIW, I branched v3.2.-stables, and applied openwrt patches to each. openwrt-v3.2.1 has 66 patches applied openwrt-v3.2.10 has 66 patches applied openwrt-v3.2.11 has 66 patches applied openwrt-v3.2.12 has 66 patches applied openwrt-v3.2.13 has 66 patches applied openwrt-v3.2.2 has 66 patches applied openwrt -v3.2.3 has 66 patches applied openwrt-v3.2.4 has 66 patches applied openwrt-v3.2.5 has 66 patches applied openwrt-v3.2.6 has 66 patches applied openwrt-v3.2.7 has 66 patches applied openwrt-v3.2.8 has 66 patches applied openwrt-v3.2.9 has 66 patches applied there are 72 patches there, so 8 didnt apply (using git apply) openwrt-v3.2.10: failed to apply: ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/025-mtd-bcm47xx-add-bcm47xx-part-parser.patch ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/119-fix-boot.patch ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/192-ssb-fix-per-path-sprom-vars.patch ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/194-ssb-add-some-missing-sprom-attributes.patch ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/195-bcma-export-bcma_find_core.patch ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/196-bcma-add-support-for-sprom-not-found-on-the-device.patch ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/000-pci-backport.patch I didnt look into why, except to try all stable branches. I thought maybe they were already applied to stable. That doesnt appear to be the case. What kernel is used for the baseline ? Would it make sense to use ? http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary Also, some patches have trailing whitespace, which could be fixed by $kerneldir/scripts/cleanpatch FWIW, heres my branch-and-apply script: #!/bin/bash # 1st delete branches from previous runs git checkout v3.2 git branch -D `git branch | grep openwrt-v` git branch -D openwrt-3.2 branch_and_apply() { local t=$1 git checkout -b openwrt-$t $t fails="" for p in ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/[0-9]* ; do echo $p # scripts/cleanpatch $p ~/bin/git apply $p \ && git add --all \ && git commit -m `basename $p` if [ $? != 0 ]; then echo "$?: failed applying $p" fails="$fails $p" fi done echo "openwrt-$t: failed to apply: " for x in $fails; do echo " $x" done } # reapply branch_and_apply v3.2 for t in `git tag |grep -P v3.2\.[0-9]+`; do branch_and_apply $t done for b in `git branch | grep openwrt | cut -f2 -d-`; do lines=`git log --oneline $b..openwrt-$b | wc -l` echo openwrt-$b has $lines patches applied done thanks Jim Cromie
drivers/net/wireless/Makefile | 4 + drivers/net/wireless/b43/Makefile | 4 + drivers/net/wireless/b43/b43.h | 50 ++++- drivers/net/wireless/b43/debugfs.c | 272 ++++++++++++++++++ drivers/net/wireless/b43/debugfs.h | 1 + drivers/net/wireless/b43/dma.c | 40 +++ drivers/net/wireless/b43/main.c | 79 ++++++ drivers/net/wireless/b43/xmit.c | 533 ++++++++++++++++++++++++++++++++++++ drivers/net/wireless/b43/xmit.h | 11 +- drivers/net/wireless/maranello.c | 134 +++++++++ drivers/net/wireless/maranello.h | 36 +++ 11 files changed, 1160 insertions(+), 4 deletions(-)
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
