From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 23883 invoked from network); 24 Jul 2023 12:07:55 -0000 Received: from 9front.inri.net (168.235.81.73) by inbox.vuxu.org with ESMTPUTF8; 24 Jul 2023 12:07:55 -0000 Received: from mail-ej1-f44.google.com ([209.85.218.44]) by 9front; Mon Jul 24 08:00:55 -0400 2023 Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-991da766865so732985466b.0 for <9front@9front.org>; Mon, 24 Jul 2023 05:00:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690200049; x=1690804849; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=tsF1l/F+KV05e1HvfPSEmMrKLS/UI2P6VKR4rOfjXUw=; b=ZElwz4Hxo8dPVaMx+gW33zQ2DeAmZlrmidzbx0t1/aHfXjDJfKFx6wEA+s6CcFNDp0 PVusriVAcROybxCu9j2v8I1y8okYrdeDvfYcuKvjDQsBR5wmD4n60J2rADWCGAicFEub pUB8Igx0Z34DqoLjCEHjXGhEtth/azDAtApUb0sqnqs0MymgCbU/9pgimyQZIrhP1C3U LXCqaRQgVYqIetQj2KedGHpElXZaqRzIuPXlCBxvBpmhjOUVrbeMSl5i4En7nscJFVrX aGb0cccpRlP5LeWrg4brBk8Ang6QROmRad8+i4WJkZeZ7rc3aLbKBBCDANTllOeBnFfK FO5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690200049; x=1690804849; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=tsF1l/F+KV05e1HvfPSEmMrKLS/UI2P6VKR4rOfjXUw=; b=OrSnJVGL5ECrzRPDBE0ttDcC1rbOnKvEZFX+HDNxRL3nb285WxBry/Gu/PssPA00to KWk2eQYKN+fqGGNX9AaQJq0ZNJ5d/BIHmbMkAbl2MTQ0vIVuidzzT5ZZdXqdeeH2QROS c/mYx23F/8iM1uBGQJ1/QhTt8SG83BhJT1QQirL/WNn+xid8GwERxig4US/s+7Zgnmlk 1hnvkXfx9/y3ghqgkLUyWzHqALumWxSWSVDGaQWQqLydfENgTcaLQXZRDb7gczeRQkpi Qb7iua1MSe9RgU3NK/EDp6xU4u0yap1fWGZLXA19jHBoz+atWKiQ2tvMUphKCAaFbnJm B1QQ== X-Gm-Message-State: ABy/qLZB3w56YC8Gsc/Gf06ARPxCBi5JE2WYVok2aor3fNbbRWIcamPy 4/1fvOspKFrhbiw6z25seDnt1JyWA0Z0a7YjhA2lY2Ac X-Google-Smtp-Source: APBJJlE7D3nak7WxyIBEx3jhUYKlen6xoVFRSLFxdr5GRoURaNfI9WyCwwMeK7/qesSnUSs5k762AbG7KCinR3dWtPU= X-Received: by 2002:a50:fa82:0:b0:522:1e2f:99db with SMTP id w2-20020a50fa82000000b005221e2f99dbmr5362052edr.5.1690199701925; Mon, 24 Jul 2023 04:55:01 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:7208:6008:b0:6d:9fbe:181 with HTTP; Mon, 24 Jul 2023 04:55:00 -0700 (PDT) In-Reply-To: References: From: kemal Date: Mon, 24 Jul 2023 14:55:00 +0300 Message-ID: To: 9front@9front.org Content-Type: multipart/mixed; boundary="000000000000d54a5f06013a48f4" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: polling ActivityPub over ACPI injection-scale persistence manager Subject: Re: [9front] Free Carrots #6: Tools For Fighting WiFi Inequality Reply-To: 9front@9front.org Precedence: bulk --000000000000d54a5f06013a48f4 Content-Type: text/plain; charset="UTF-8" 2023-07-24 12:58 GMT+03:00, kemal : > 2023-07-24 5:35 GMT+03:00, ori@eigenstate.org : >> Quoth kemal : >>> >>> my mail didn't end up in /n/lists/9front, so the mail server may have >>> ate my mail. i'm going to reply to my original message and upload >>> my patch to okturing instead of attaching it, hoping that it will get >>> sent >>> http://okturing.com/src/16441/body >> >> this breaks wireless on my t460s (Intel Wireless 8260, 8086:24f3). >> >> Before, it would often give me firmware crashes, but with this it >> does it on every bind: >> >> #l1: fatal firmware error >> lastcmd: 108 (0x6c) >> error: id 2b12, trm_hw_status 000002f0 00000000, >> branchlink2 0002395c, interruptlink 0003867a 00000000, >> errordata 80087cca 7acdf1f6 00000000 >> #l1: flushq: broken >> >> happy to help debug, but not sure where to start. >> >> > > first of all, thank you for testing! > > as for what happens here, it errors on the command i changed. firmware > makes the situation worse by sending us an unknown error id (0x2b12), > but i at least know that it's not because we're sending a bad command but > because firmware breaks for a cryptic reason. just for reference, > i'll leave the error id table from openbsd here: > > static struct { > const char *name; > uint8_t num; > } advanced_lookup[] = { > { "NMI_INTERRUPT_WDG", 0x34 }, > { "SYSASSERT", 0x35 }, > { "UCODE_VERSION_MISMATCH", 0x37 }, > { "BAD_COMMAND", 0x38 }, > { "BAD_COMMAND", 0x39 }, > { "NMI_INTERRUPT_DATA_ACTION_PT", 0x3C }, > { "FATAL_ERROR", 0x3D }, > { "NMI_TRM_HW_ERR", 0x46 }, > { "NMI_INTERRUPT_TRM", 0x4C }, > { "NMI_INTERRUPT_BREAK_POINT", 0x54 }, > { "NMI_INTERRUPT_WDG_RXF_FULL", 0x5C }, > { "NMI_INTERRUPT_WDG_NO_RBD_RXF_FULL", 0x64 }, > { "NMI_INTERRUPT_HOST", 0x66 }, > { "NMI_INTERRUPT_LMAC_FATAL", 0x70 }, > { "NMI_INTERRUPT_UMAC_FATAL", 0x71 }, > { "NMI_INTERRUPT_OTHER_LMAC_FATAL", 0x73 }, > { "NMI_INTERRUPT_ACTION_PT", 0x7C }, > { "NMI_INTERRUPT_UNKNOWN", 0x84 }, > { "NMI_INTERRUPT_INST_ACTION_PT", 0x86 }, > { "ADVANCED_SYSASSERT", 0 }, > }; > (unknown errors are ADVANCED_SYSASSERT) > > sadly, the rest of the error is useless as no one except intel knows the > firmwares internals. i want to know why it fails, so i added some debug > prints to deduce something. > diff with debug prints attached. > > for reference, this is what openbsd does: > > int > iwm_send_phy_db_cmd(struct iwm_softc *sc, uint16_t type, uint16_t length, > void *data) > { > struct iwm_phy_db_cmd phy_db_cmd; > struct iwm_host_cmd cmd = { > .id = IWM_PHY_DB_CMD, > .flags = IWM_CMD_ASYNC, > }; > > phy_db_cmd.type = le16toh(type); > phy_db_cmd.length = le16toh(length); > > cmd.data[0] = &phy_db_cmd; > cmd.len[0] = sizeof(struct iwm_phy_db_cmd); > cmd.data[1] = data; > cmd.len[1] = length; > > return iwm_send_cmd(sc, &cmd); > } > > and this is the structure: > > struct iwm_phy_db_cmd { > uint16_t type; > uint16_t length; > uint8_t data[]; > } __packed; > > (data is unused) > sorry. after staring at the code for a bit, i realised that our code kept the type+length part of the calib block sent by the firmware. for some reason, openbsd+linux seperates that and sends it in the command buffer. i aligned the behavior, but this shouldn't change anything, and this is probably not related at all to the speed issue we're experiencing may you send a snippet of the firmware crashes you experience? diff attached --000000000000d54a5f06013a48f4 Content-Type: text/plain; charset="US-ASCII"; name="etheriwl.diff" Content-Disposition: attachment; filename="etheriwl.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 ZGlmZiBmNmFjMTgyZjg2YmYwYmNjNzc3YTc2ZGI1MGY5NDIyN2VmNmY3OTYyIHVuY29tbWl0dGVk Ci0tLSBhL3N5cy9zcmMvOS9wb3J0L2V0aGVyaXdsLmMKKysrIGIvc3lzL3NyYy85L3BvcnQvZXRo ZXJpd2wuYwpAQCAtMzMwLDI1ICszMzAsMTQgQEAKIH07CiAKIC8qCi0gKiB1Q29kZSBUTFYgYXBp Ci0gKi8KLWVudW0gewotCS8qIGFwaVswXSAqLwotCVVjb2RlQXBpU3RhCT0gMTw8MzAsCi19Owot Ci0vKgogICogdUNvZGUgY2FwYWJpbGl0aWVzCiAgKi8KIGVudW0gewotCS8qIGNhcGFbMF0gKi8K LQlVY29kZUNhcExhcgk9IDE8PDEsCisJVWNvZGVBcGlTdGEJPSAzMCwKIAotCS8qIGNhcGFbMV0g Ki8KLQlVY29kZUNhcFF1b3RhCT0gMTw8MTIsCi0JCi0JLyogY2FwYVsyXSAqLwotCVVjb2RlQ2Fw TGFyMgk9IDE8PDksCisJVWNvZGVDYXBhTGFyCT0gMSwKKwlVY29kZUNhcGFRdW90YQk9IDQ0LAor CVVjb2RlQ2FwYUxhcjIJPSA3MywKIH07CiAKIGVudW0gewpAQCAtNjU4LDggKzY0Nyw2IEBACiAJ VHlwZTYwMDUJPSAxMSwJLyogYWxzbyBDZW50cmlubyBBZHZhbmNlZC1OIDYwMzAsIDYyMzUgKi8K IAlUeXBlMjAzMAk9IDEyLAogCVR5cGUyMDAwCT0gMTYsCi0KLQlUeXBlNzI2MAk9IDIwLAogfTsK IAogc3RhdGljIHN0cnVjdCByYXRldGFiIHsKQEAgLTcyMSw2ICs3MDgsOCBAQAogCiAjZGVmaW5l IGNzcjMycihjLCByKQkoKigoYyktPm5pYysoKHIpLzQpKSkKICNkZWZpbmUgY3NyMzJ3KGMsIHIs IHYpCSgqKChjKS0+bmljKygocikvNCkpID0gKHYpKQorLyogbWFjcm8gdG8gaGVscCB3aXRoIGN0 bHItPmZ3LT4oYXBpfGNhcGEpICovCisjZGVmaW5lIGlzc2V0KGEsIGkpCSgoYSlbKGkpLzMyXSAm IDFVPDwoaSklMzIpCiAKIHN0YXRpYyB1aW50CiBnZXQxNih1Y2hhciAqcCl7CkBAIC0xMTE0LDcg KzExMDMsOCBAQAogCX0KIAogCS8qIEVuYWJsZSB0aGUgb3NjaWxsYXRvciB0byBjb3VudCB3YWtl IHVwIHRpbWUgZm9yIEwxIGV4aXQuICh3ZWlyZCBXL0EpICovCi0JaWYoY3Rsci0+dHlwZSA9PSBU eXBlNzI2MCl7CisJc3dpdGNoKGN0bHItPnBkZXYtPmRpZCl7CisJY2FzZSAweDA4YjE6IGNhc2Ug MHgwOGIyOiBjYXNlIDB4MDhiMzogY2FzZSAweDA4YjQ6IC8qIFdpcmVsZXNzIDcyNjAvMzE2MCAq LwogCQlpZigoZXJyID0gbmljbG9jayhjdGxyKSkgIT0gbmlsKQogCQkJcmV0dXJuIGVycjsKIApA QCAtMjAxNCw3ICsyMDA0LDcgQEAKIAkqcCsrID0gbWNjWzBdOwogCSpwKysgPSAwOwogCSpwKysg PSAwOwkvLyByZXNlcnZlZAotCWlmKGN0bHItPmZ3LT5jYXBhWzJdICYgVWNvZGVDYXBMYXIyKXsK KwlpZihpc3NldChjdGxyLT5mdy0+Y2FwYSwgVWNvZGVDYXBhTGFyMikpewogCQlwICs9IDQ7CiAJ CXAgKz0gNSo0OwogCX0KQEAgLTI0MDcsNyArMjM5Nyw3IEBACiAJCXAgKz0gMjsJCQkvKiBzbGVl cF90eF9jb3VudCAqLwogCQlwKys7CQkJLyogc2xlZXAgc3RhdGUgZmxhZ3MgKi8KIAotCQkqcCsr ID0gY3Rsci0+ZnctPmFwaVswXSAmIFVjb2RlQXBpU3RhID8gdHlwZSA6IDA7CQkvKiBzdGF0aW9u X3R5cGUgKi8KKwkJKnArKyA9IGlzc2V0KGN0bHItPmZ3LT5hcGksIFVjb2RlQXBpU3RhKSA/IHR5 cGUgOiAwOwkJLyogc3RhdGlvbl90eXBlICovCiAKIAkJcCArPSAyOwkJCS8qIGFzc29jIGlkICov CiAKQEAgLTI0MTYsNyArMjQwNiw3IEBACiAJCXB1dDMyKHAsIDE8PDApOwogCQlwICs9IDQ7CQkJ LyogdGZkX3F1ZXVlX21hc2sgKi8KIAotCQlpZihjdGxyLT5mdy0+YXBpWzBdICYgVWNvZGVBcGlT dGEpeworCQlpZihpc3NldChjdGxyLT5mdy0+YXBpLCBVY29kZUFwaVN0YSkpewogCQkJcCArPSAy OwkJLyogcnhfYmFfd2luZG93ICovCiAJCQlwKys7CQkvKiBzcF9sZW5ndGggKi8KIAkJCXArKzsJ CS8qIHVhcHNkX2FjcyAqLwpAQCAtMjc1MCw3ICsyNzQwLDcgQEAKIAl1Y2hhciBjWzQqKDMqNCld LCAqcDsKIAlpbnQgaTsKIAotCWlmKChjdGxyLT5mdy0+Y2FwYVsxXSAmIFVjb2RlQ2FwUXVvdGEp ID09IDApCisJaWYoIWlzc2V0KGN0bHItPmZ3LT5jYXBhLCBVY29kZUNhcGFRdW90YSkpCiAJCXJl dHVybiBuaWw7CiAKIAlpID0gMDsKQEAgLTI4ODMsNiArMjg3MywzMSBAQAogfQogCiBzdGF0aWMg Y2hhcioKK3NlbmRjYWxpYmRhdGEoQ3RsciAqY3RscikKK3sKKwlCbG9jayAqYjsKKwl1Y2hhciBj WzRdOworCWNoYXIgKmVycjsKKwlpbnQgaTsKKworCWZvcihpID0gMDsgaSA8IHNpemVvZihjdGxy LT5jYWxpYi5jbWQpOyBpKyspeworCQlpZigoYiA9IGN0bHItPmNhbGliLmNtZFtpXSkgPT0gbmls KQorCQkJY29udGludWU7CisJCS8qIHNlbmQgdHlwZStsZW5ndGggaW4gdGhlIGNvbW1hbmQgKi8K KwkJbWVtbW92ZShjLCBiLT5ycCwgc2l6ZW9mKGMpKTsKKwkJYiA9IGNvcHlibG9jayhiLCBCTEVO KGIpKTsKKwkJYi0+cnAgKz0gc2l6ZW9mKGMpOworCQlpZigoZXJyID0gcWNtZChjdGxyLCA0LCAx MDgsIGMsIHNpemVvZihjKSwgYikpICE9IG5pbCl7CisJCQlmcmVlYihiKTsKKwkJCXJldHVybiBl cnI7CisJCX0KKwkJaWYoKGVyciA9IGZsdXNocShjdGxyLCA0KSkgIT0gbmlsKQorCQkJcmV0dXJu IGVycjsKKwl9CisJcmV0dXJuIG5pbDsKK30KKworc3RhdGljIGNoYXIqCiBwb3N0Ym9vdDcwMDAo Q3RsciAqY3RscikKIHsKIAljaGFyICplcnI7CkBAIC0yOTE0LDIxICsyOTI5LDkgQEAKIAkJCWN0 bHItPmNhbGliLmRvbmUgPSAxOwogCQl9CiAJfSBlbHNlIHsKLQkJQmxvY2sgKmI7Ci0JCWludCBp OworCQlpZigoZXJyID0gc2VuZGNhbGliZGF0YShjdGxyKSkgIT0gbmlsKQorCQkJcmV0dXJuIGVy cjsKIAotCQlmb3IoaSA9IDA7IGkgPCBuZWxlbShjdGxyLT5jYWxpYi5jbWQpOyBpKyspewotCQkJ aWYoKGIgPSBjdGxyLT5jYWxpYi5jbWRbaV0pID09IG5pbCkKLQkJCQljb250aW51ZTsKLQkJCWIg PSBjb3B5YmxvY2soYiwgQkxFTihiKSk7Ci0JCQlpZigocWNtZChjdGxyLCA0LCAxMDgsIG5pbCwg MCwgYikpICE9IG5pbCl7Ci0JCQkJZnJlZWIoYik7Ci0JCQkJcmV0dXJuIGVycjsKLQkJCX0KLQkJ CWlmKChlcnIgPSBmbHVzaHEoY3RsciwgNCkpICE9IG5pbCkKLQkJCQlyZXR1cm4gZXJyOwotCQl9 Ci0KIAkJaWYoKGVyciA9IHNlbmRwaHljb25maWcoY3RsciwKIAkJCWN0bHItPmZ3LT5waHlza3Us CiAJCQljdGxyLT5mdy0+bWFpbi5kZWZjYWxpYi5mbG93bWFzaywKQEAgLTI5NDcsNyArMjk1MCw3 IEBACiAJCQlwcmludCgiY2FuJ3QgdXBkYXRlIGRldmljZSBwb3dlcjogJXNcbiIsIGVycik7CiAJ CQlyZXR1cm4gZXJyOwogCQl9Ci0JCWlmKGN0bHItPmZ3LT5jYXBhWzBdICYgVWNvZGVDYXBMYXIp CisJCWlmKCFpc3NldChjdGxyLT5mdy0+Y2FwYSwgVWNvZGVDYXBhTGFyKSkKIAkJCWlmKChlcnIg PSBzZW5kbWNjdXBkYXRlKGN0bHIsICJaWiIpKSAhPSBuaWwpCiAJCQkJcmV0dXJuIGVycjsKIAkJ aWYoKGVyciA9IGRpc2FibGViZWFjb25maWx0ZXIoY3RscikpICE9IG5pbCl7CkBAIC00NDIxLDcg KzQ0MjQsNyBAQAogCWludCBmYW1pbHk7CiAJCiAJcGRldiA9IG5pbDsKLQl3aGlsZShwZGV2ID0g cGNpbWF0Y2gocGRldiwgVmludGVsLCAwKSkgeworCXdoaWxlKHBkZXYgPSBwY2ltYXRjaChwZGV2 LCAweDgwODYsIDApKSB7CiAJCUN0bHIgKmN0bHI7CiAJCXZvaWQgKm1lbTsKIAkJCkBAIC00NDY3 LDYgKzQ0NzAsNyBAQAogCQkJZnduYW1lID0gIml3bS03MjYwLTE3IjsKIAkJCWJyZWFrOwogCQlj YXNlIDB4MDhiMzoJLyogV2lyZWxlc3MgQUMgMzE2MCAqLworCQljYXNlIDB4MDhiNDoJLyogV2ly ZWxlc3MgQUMgMzE2MCAqLwogCQkJZmFtaWx5ID0gNzAwMDsKIAkJCWZ3bmFtZSA9ICJpd20tMzE2 MC0xNyI7CiAJCQlicmVhazsKQEAgLTQ0NzQsNiArNDQ3OCwxNSBAQAogCQljYXNlIDB4MDk1YjoJ LyogV2lyZWxlc3MgQUMgNzI2NSAqLwogCQkJZmFtaWx5ID0gNzAwMDsKIAkJCWZ3bmFtZSA9ICJp d20tNzI2NS0xNyI7CisJCQlicmVhazsKKwkJY2FzZSAweDMxNjU6CS8qIFdpcmVsZXNzIEFDIDMx NjUgKi8KKwkJY2FzZSAweDMxNjY6CS8qIFdpcmVsZXNzIEFDIDMxNjUgKi8KKwkJCWZhbWlseSA9 IDcwMDA7CisJCQlmd25hbWUgPSAiaXdtLTcyNjVELTI5IjsKKwkJCWJyZWFrOworCQljYXNlIDB4 MjRmYjoJLyogV2lyZWxlc3MgQUMgMzE2OCAqLworCQkJZmFtaWx5ID0gNzAwMDsKKwkJCWZ3bmFt ZSA9ICJpd20tMzE2OC0yOSI7CiAJCQlicmVhazsKIAkJY2FzZSAweDI0ZjM6CS8qIFdpcmVsZXNz IEFDIDgyNjAgKi8KIAkJCWZhbWlseSA9IDgwMDA7Cg== --000000000000d54a5f06013a48f4--