Connection between CLI and Peer/Orderer not working properly (Kubernetes setup) - kubernetes
I'm running a network in a Kubernetes Cluster and have a CLI, a Peer and an Orderer of the same organization each running in it's own Pod.
I can do channel creation, chaincode installation, approvement and committing without problems. However, when it comes to chaincode invocation, the CLI outputs that the chaincode might not be installed, while the Peer logs a failed connection to the CLI.
So here's the CLI command (update: with -o org1-orderer:30011):
$ export CORE_PEER_MSPCONFIGPATH=/config/admin/msp
$ peer chaincode invoke -C channel1 -n cc-abac -c '{"Args":["invoke","a","b","10"]}' -o org1-orderer:30011 --clientauth --tls --cafile /config/peer/tls-msp/tlscacerts/ca-cert.pem --keyfile /config/peer/tls-msp/keystore/key.pem --certfile /config/peer/tls-msp/signcerts
/cert.pem
CLI Output:
2020-07-07 16:47:20.918 UTC [msp] loadCertificateAt -> WARN 001 Failed loading ClientOU certificate at [/config/admin/msp]: [could not read file /config/admin/msp: read /config/admin/msp: is a directory]
2020-07-07 16:47:20.919 UTC [msp] loadCertificateAt -> WARN 002 Failed loading PeerOU certificate at [/config/admin/msp]: [could not read file /config/admin/msp: read /config/admin/msp: is a directory]
2020-07-07 16:47:20.919 UTC [msp] loadCertificateAt -> WARN 003 Failed loading AdminOU certificate at [/config/admin/msp]: [could not read file /config/admin/msp: read /config/admin/msp: is a directory]
2020-07-07 16:47:20.919 UTC [msp] loadCertificateAt -> WARN 004 Failed loading OrdererOU certificate at [/config/admin/msp]: [could not read file /config/admin/msp: read /config/admin/msp: is a directory]
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 005 parsed scheme: ""
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 006 scheme "" not registered, fallback to default scheme
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 007 ccResolverWrapper: sending update to cc: {[{org1-peer1:30151 <nil> 0 <nil>}] <nil> <nil>}
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 008 ClientConn switching balancer to "pick_first"
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 009 Channel switches to new LB policy "pick_first"
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 00a Subchannel Connectivity change to CONNECTING
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 00b Subchannel picks a new address "org1-peer1:30151" to connect
2020-07-07 16:47:20.928 UTC [grpc] UpdateSubConnState -> DEBU 00c pickfirstBalancer: HandleSubConnStateChange: 0xc000114450, {CONNECTING <nil>}
2020-07-07 16:47:20.928 UTC [grpc] Infof -> DEBU 00d Channel Connectivity change to CONNECTING
2020-07-07 16:47:20.935 UTC [grpc] Infof -> DEBU 00e Subchannel Connectivity change to READY
2020-07-07 16:47:20.935 UTC [grpc] UpdateSubConnState -> DEBU 00f pickfirstBalancer: HandleSubConnStateChange: 0xc000114450, {READY <nil>}
2020-07-07 16:47:20.935 UTC [grpc] Infof -> DEBU 010 Channel Connectivity change to READY
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 011 parsed scheme: ""
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 012 scheme "" not registered, fallback to default scheme
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 013 ccResolverWrapper: sending update to cc: {[{org1-peer1:30151 <nil> 0 <nil>}] <nil> <nil>}
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 014 ClientConn switching balancer to "pick_first"
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 015 Channel switches to new LB policy "pick_first"
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 016 Subchannel Connectivity change to CONNECTING
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 017 Subchannel picks a new address "org1-peer1:30151" to connect
2020-07-07 16:47:20.948 UTC [grpc] UpdateSubConnState -> DEBU 018 pickfirstBalancer: HandleSubConnStateChange: 0xc000496070, {CONNECTING <nil>}
2020-07-07 16:47:20.948 UTC [grpc] Infof -> DEBU 019 Channel Connectivity change to CONNECTING
2020-07-07 16:47:20.954 UTC [grpc] Infof -> DEBU 01a Subchannel Connectivity change to READY
2020-07-07 16:47:20.955 UTC [grpc] UpdateSubConnState -> DEBU 01b pickfirstBalancer: HandleSubConnStateChange: 0xc000496070, {READY <nil>}
2020-07-07 16:47:20.955 UTC [grpc] Infof -> DEBU 01c Channel Connectivity change to READY
2020-07-07 16:47:20.987 UTC [chaincodeCmd] InitCmdFactory -> INFO 01d Retrieved channel (channel1) orderer endpoint: org1-orderer:30011
2020-07-07 16:47:20.991 UTC [grpc] WithKeepaliveParams -> DEBU 01e Adjusting keepalive ping interval to minimum period of 10s
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 01f parsed scheme: ""
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 020 scheme "" not registered, fallback to default scheme
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 021 ccResolverWrapper: sending update to cc: {[{org1-orderer:30011 <nil> 0 <nil>}] <nil> <nil>}
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 022 ClientConn switching balancer to "pick_first"
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 023 Channel switches to new LB policy "pick_first"
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 024 Subchannel Connectivity change to CONNECTING
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 025 Subchannel picks a new address "org1-orderer:30011" to connect
2020-07-07 16:47:20.991 UTC [grpc] UpdateSubConnState -> DEBU 026 pickfirstBalancer: HandleSubConnStateChange: 0xc000205a60, {CONNECTING <nil>}
2020-07-07 16:47:20.991 UTC [grpc] Infof -> DEBU 027 Channel Connectivity change to CONNECTING
2020-07-07 16:47:21.000 UTC [grpc] Infof -> DEBU 028 Subchannel Connectivity change to READY
2020-07-07 16:47:21.000 UTC [grpc] UpdateSubConnState -> DEBU 029 pickfirstBalancer: HandleSubConnStateChange: 0xc000205a60, {READY <nil>}
2020-07-07 16:47:21.000 UTC [grpc] Infof -> DEBU 02a Channel Connectivity change to READY
Error: endorsement failure during invoke. response: status:500 message:"make sure the chaincode cc-abac has been successfully defined on channel channel1 and try again: chaincode definition for 'cc-abac' exists, but chaincode is not installed"
I'm sure it's installed on channel1 (the only channel in existence, except sys-channel):
$ peer lifecycle chaincode queryinstalled
Installed chaincodes on peer:
Package ID: cc-abac:4992a37bf5c7b48f91f5062d9700a58a4129599c53d759e8282fdeffc8836c72, Label: cc-abac
On the Peer's side, I get the following in the log (updated):
[36m2020-07-09 06:45:55.976 UTC [gossip.discovery] periodicalSendAlive -> DEBU 194c[0m Sleeping 5s
[36m2020-07-09 06:45:56.182 UTC [endorser] ProcessProposal -> DEBU 194d[0m request from 10.129.1.229:60184
[36m2020-07-09 06:45:56.182 UTC [endorser] Validate -> DEBU 194e[0m creator is valid channel=channel1 txID=a71312e4 mspID=Org1MSP
[36m2020-07-09 06:45:56.182 UTC [msp.identity] Verify -> DEBU 194f[0m Verify: digest = 00000000 87 29 a0 e5 96 b8 5f 5e 9b e0 fb e5 4d 5b 86 b2 |.)...._^....M[..|
00000010 bd 43 ee 30 59 d6 a9 55 e3 e9 77 7b fd a2 47 8f |.C.0Y..U..w{..G.|
[36m2020-07-09 06:45:56.182 UTC [msp.identity] Verify -> DEBU 1950[0m Verify: sig = 00000000 30 45 02 21 00 f0 6b 23 9d f6 ec f2 29 be 64 4e |0E.!..k#....).dN|
00000010 75 69 a7 05 7e 05 71 51 64 6c 52 59 83 be ea f9 |ui..~.qQdlRY....|
00000020 08 5e 07 09 f3 02 20 7a f7 b0 6c e0 bb 32 b9 0c |.^.... z..l..2..|
00000030 8c 41 be b8 ea 39 33 91 92 0b 08 9e c6 14 39 e8 |.A...93.......9.|
00000040 46 eb a5 80 7a 7d d1 |F...z}.|
[36m2020-07-09 06:45:56.182 UTC [endorser] Validate -> DEBU 1951[0m signature is valid channel=channel1 txID=a71312e4 mspID=Org1MSP
[36m2020-07-09 06:45:56.182 UTC [fsblkstorage] retrieveTransactionByID -> DEBU 1952[0m retrieveTransactionByID() - txId = [a71312e411a6b417a541112e2aeac73adc8d6f7fbbb3c62ffcad2348e0c91fac]
[36m2020-07-09 06:45:56.182 UTC [leveldbhelper] GetIterator -> DEBU 1953[0m Getting iterator for range [[]byte{0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x31, 0x0, 0x74, 0x1, 0x40, 0x61, 0x37, 0x31, 0x33, 0x31, 0x32, 0x65, 0x34, 0x31, 0x31, 0x61, 0x36, 0x62, 0x34, 0x31, 0x37, 0x61, 0x35, 0x34, 0x31, 0x31, 0x31, 0x32, 0x65, 0x32, 0x61, 0x65, 0x61, 0x63, 0x37, 0x33, 0x61, 0x64, 0x63, 0x38, 0x64, 0x36, 0x66, 0x37, 0x66, 0x62, 0x62, 0x62, 0x33, 0x63, 0x36, 0x32, 0x66, 0x66, 0x63, 0x61, 0x64, 0x32, 0x33, 0x34, 0x38, 0x65, 0x30, 0x63, 0x39, 0x31, 0x66, 0x61, 0x63}] - [[]byte{0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x31, 0x0, 0x74, 0x1, 0x40, 0x61, 0x37, 0x31, 0x33, 0x31, 0x32, 0x65, 0x34, 0x31, 0x31, 0x61, 0x36, 0x62, 0x34, 0x31, 0x37, 0x61, 0x35, 0x34, 0x31, 0x31, 0x31, 0x32, 0x65, 0x32, 0x61, 0x65, 0x61, 0x63, 0x37, 0x33, 0x61, 0x64, 0x63, 0x38, 0x64, 0x36, 0x66, 0x37, 0x66, 0x62, 0x62, 0x62, 0x33, 0x63, 0x36, 0x32, 0x66, 0x66, 0x63, 0x61, 0x64, 0x32, 0x33, 0x34, 0x38, 0x65, 0x30, 0x63, 0x39, 0x31, 0x66, 0x61, 0x63, 0xff}]
[36m2020-07-09 06:45:56.182 UTC [aclmgmt] CheckACL -> DEBU 1954[0m acl policy /Channel/Application/Writers found in config for resource peer/Propose
[36m2020-07-09 06:45:56.182 UTC [aclmgmt] CheckACL -> DEBU 1955[0m acl check(/Channel/Application/Writers)
[36m2020-07-09 06:45:56.183 UTC [policies] EvaluateSignedData -> DEBU 1956[0m == Evaluating *policies.ImplicitMetaPolicy Policy /Channel/Application/Writers ==
[36m2020-07-09 06:45:56.183 UTC [policies] EvaluateSignedData -> DEBU 1957[0m This is an implicit meta policy, it will trigger other policy evaluations, whose failures may be benign
[36m2020-07-09 06:45:56.183 UTC [policies] EvaluateSignedData -> DEBU 1958[0m == Evaluating *cauthdsl.policy Policy /Channel/Application/Org1/Writers ==
[36m2020-07-09 06:45:56.183 UTC [msp.identity] Verify -> DEBU 1959[0m Verify: digest = 00000000 87 29 a0 e5 96 b8 5f 5e 9b e0 fb e5 4d 5b 86 b2 |.)...._^....M[..|
00000010 bd 43 ee 30 59 d6 a9 55 e3 e9 77 7b fd a2 47 8f |.C.0Y..U..w{..G.|
[36m2020-07-09 06:45:56.183 UTC [msp.identity] Verify -> DEBU 195a[0m Verify: sig = 00000000 30 45 02 21 00 f0 6b 23 9d f6 ec f2 29 be 64 4e |0E.!..k#....).dN|
00000010 75 69 a7 05 7e 05 71 51 64 6c 52 59 83 be ea f9 |ui..~.qQdlRY....|
00000020 08 5e 07 09 f3 02 20 7a f7 b0 6c e0 bb 32 b9 0c |.^.... z..l..2..|
00000030 8c 41 be b8 ea 39 33 91 92 0b 08 9e c6 14 39 e8 |.A...93.......9.|
00000040 46 eb a5 80 7a 7d d1 |F...z}.|
[36m2020-07-09 06:45:56.183 UTC [policies] SignatureSetToValidIdentities -> DEBU 195b[0m signature for identity 0 validated
[36m2020-07-09 06:45:56.183 UTC [cauthdsl] func1 -> DEBU 195c[0m 0xc0006210e0 gate 1594277156183221199 evaluation starts
[36m2020-07-09 06:45:56.183 UTC [cauthdsl] func2 -> DEBU 195d[0m 0xc0006210e0 signed by 0 principal evaluation starts (used [false])
[36m2020-07-09 06:45:56.183 UTC [cauthdsl] func2 -> DEBU 195e[0m 0xc0006210e0 processing identity 0 - &{Org1MSP 0b33fd619da73c0915b76088b0678047f834593ea6a4f22f0772b36f3c6bd68f}
[36m2020-07-09 06:45:56.183 UTC [cauthdsl] func2 -> DEBU 195f[0m 0xc0006210e0 principal evaluation succeeds for identity 0
[36m2020-07-09 06:45:56.183 UTC [cauthdsl] func1 -> DEBU 1960[0m 0xc0006210e0 gate 1594277156183221199 evaluation succeeds
[36m2020-07-09 06:45:56.183 UTC [policies] EvaluateSignedData -> DEBU 1961[0m Signature set satisfies policy /Channel/Application/Org1/Writers
[36m2020-07-09 06:45:56.183 UTC [policies] EvaluateSignedData -> DEBU 1962[0m == Done Evaluating *cauthdsl.policy Policy /Channel/Application/Org1/Writers
[36m2020-07-09 06:45:56.183 UTC [policies] EvaluateSignedData -> DEBU 1963[0m Signature set satisfies policy /Channel/Application/Writers
[36m2020-07-09 06:45:56.183 UTC [policies] EvaluateSignedData -> DEBU 1964[0m == Done Evaluating *policies.ImplicitMetaPolicy Policy /Channel/Application/Writers
[36m2020-07-09 06:45:56.183 UTC [lockbasedtxmgr] NewTxSimulator -> DEBU 1965[0m constructing new tx simulator
[36m2020-07-09 06:45:56.183 UTC [lockbasedtxmgr] newLockBasedTxSimulator -> DEBU 1966[0m constructing new tx simulator txid = [a71312e411a6b417a541112e2aeac73adc8d6f7fbbb3c62ffcad2348e0c91fac]
[36m2020-07-09 06:45:56.183 UTC [stateleveldb] GetState -> DEBU 1967[0m GetState(). ns=_lifecycle, key=namespaces/fields/cc-abac/Sequence
[36m2020-07-09 06:45:56.183 UTC [lockbasedtxmgr] Done -> DEBU 1968[0m Done with transaction simulation / query execution [a71312e411a6b417a541112e2aeac73adc8d6f7fbbb3c62ffcad2348e0c91fac]
[34m2020-07-09 06:45:56.183 UTC [comm.grpc.server] 1 -> INFO 1969[0m unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=10.129.1.229:60184 grpc.peer_subject="CN=org1-peer1,OU=peer,O=Hyperledger,ST=North Carolina,C=US" grpc.code=OK grpc.call_duration=1.225382ms
[36m2020-07-09 06:45:56.186 UTC [grpc] warningf -> DEBU 196a[0m transport: http2Server.HandleStreams failed to read frame: read tcp 10.130.2.65:7051->10.129.1.229:60184: read: connection reset by peer
[36m2020-07-09 06:45:56.186 UTC [grpc] infof -> DEBU 196b[0m transport: loopyWriter.run returning. connection error: desc = "transport is closing"
[36m2020-07-09 06:45:56.186 UTC [grpc] infof -> DEBU 196c[0m transport: loopyWriter.run returning. connection error: desc = "transport is closing"
[update] The message unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=10.129.1.229:60184 grpc.peer_subject="CN=org1-peer1,OU=peer,O=Hyperledger,ST=North Carolina,C=US" grpc.code=OK grpc.call_duration=1.225382ms indicates that the Peer considers the CLI as another Peer, doesn't it? If so, it's clear why the connection is failing. Now the question is, why the Peer thinks so?
Peer: 10.130.2.65
CLI: 10.129.1.229
Kind regards
Unfortunately, all of the GRPC logs and k8s related issues appear to be a red herring. The connection is being correctly established, the term 'peer' is simply a little confusing in the GRPC logs, as GRPC always refers to 'the party on the other end of the line' as a 'peer'. This term is re-used with a different meaning in Fabric.
As the logs indicate, the chaincode has been successfully approved, and defined on the channel.
As the peer CLI output indicates, you have installed a chaincode with package-id cc-abac:4992a37bf5c7b48f91f5062d9700a58a4129599c53d759e8282fdeffc8836c72.
But, on invoke, you are seeing the error that:
chaincode definition for 'cc-abac' exists, but chaincode is not installed
This means when you did your chaincode approval, you either did not specify a package-id, or, you specified an incorrect package id.
If you are using a v2.2+ version of Fabric, you should be able to use the peer lifecycle queryapproved utility to see what package ID you have selected.
You can re-run the peer lifecycle approveformyorg with the correct package-id (cc-abac:4992a37bf5c7b48f91f5062d9700a58a4129599c53d759e8282fdeffc8836c72) and this should correct things.
Related
Google SMTP servers reject my own SMTP server
I am having a problem with Google's SMTP servers. They reject my SMTP server's IP for no valid reason. My server complies with all the necessary rules to deliver the message but Google rejects it by IP without giving me details and I cannot find support either. I have written to postmaster#gmail.com but got no response. My server sends notifications to the users of the system, it does not do SPAM and apparently everything is correct. I don't see a valid reason for this crash, and I can't find a way to fix it. I would like to know if the same thing happened to someone and how they could solve it. Next I copy the console with the delivery attempt and additionally some DNS checks that show that apparently there is no problem on my server: root#venabili:~# hostname -f venabili.tecnologica.com.ar root#venabili:~# id uid=0(root) gid=0(root) grupos=0(root) root#venabili:~# ifconfig eth0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 200.69.236.179 netmask 255.255.255.0 broadcast 200.69.236.255 inet6 fe80::f816:3eff:fe27:b8e1 prefixlen 64 scopeid 0x20<link> ether fa:16:3e:27:b8:e1 txqueuelen 1000 (Ethernet) RX packets 302342269 bytes 32703331063 (30.4 GiB) RX errors 0 dropped 17 overruns 0 frame 0 TX packets 75025298 bytes 12670842456 (11.8 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root#venabili:~# nslookup > server 8.8.8.8 Default server: 8.8.8.8 Address: 8.8.8.8#53 > set type=mx > tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: tecnologica.com.ar mail exchanger = 10 venabili.tecnologica.com.ar. Authoritative answers can be found from: > set type=a > venabili.tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: venabili.tecnologica.com.ar Address: 200.69.236.179 > set type=aaaa > venabili.tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: venabili.tecnologica.com.ar Address: fe80::f816:3eff:fe27:b8e1 > set type=ptr > 200.69.236.179 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: 179.236.69.200.in-addr.arpa name = venabili.tecnologica.com.ar. Authoritative answers can be found from: > set type=txt > tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: tecnologica.com.ar text = "v=spf1 a mx ip4:200.69.236.179 ip6:fe80::f816:3eff:fe27:b8e1 ~all" Authoritative answers can be found from: > set type=txt > default._domainkey.tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: default._domainkey.tecnologica.com.ar text = "v=DKIM1; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+GrX8vxp9W51ehJuixhL5AbjmCgcN2h7KqMiLI8LMUfmpWPP1GIhxlWCieFUVMOAQGlQrImuFE3kk/qLOgyumzUTRBwxlNX+7tix7dlBclXAWq8SjB9SbbAcPKkTBAq0pvXvp4l4qTCFnfVXAs1g/lCywlJrbfAFVVXWdN44ElFz+bD4YRYsXSmz//L1uFU7YE" "zkFUvbMtwBOL1xRvjAFXH4xQ7/vkHX6+OIxnm47vO/a2CqFVXok0FhAj44BmlBT+Py0x0SP8jsm+xhnLc238ZIsGylTwCb0Zbl3DR9bKGBy9FqXoUyRIzWKEkAtwaKq7qeBO3oRT4kQOKEOog2QIDAQAB" Authoritative answers can be found from: > _dmarc.tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: _dmarc.tecnologica.com.ar text = "v=DMARC1; p=reject; rua=mailto:postmaster#tecnologica.com.ar; ruf=mailto:postmaster#tecnologica.com.ar" Authoritative answers can be found from: > _smtp._tls.tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: _smtp._tls.tecnologica.com.ar text = "v=TLSRPTv1; rua=mailto:postmaster#tecnologica.com.ar" Authoritative answers can be found from: > _mta-sts.tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: _mta-sts.tecnologica.com.ar text = "v=STSv1; id=20200918192500" Authoritative answers can be found from: > set type=cname > mta-sts.tecnologica.com.ar Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: mta-sts.tecnologica.com.ar canonical name = venabili.tecnologica.com.ar. Authoritative answers can be found from: > exit root#venabili:~# openssl s_client -connect mta-sts.tecnologica.com.ar:443 CONNECTED(00000004) depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3 verify return:1 depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 verify return:1 depth=0 CN = mta-sts.tecnologica.com.ar verify return:1 --- Certificate chain 0 s:CN = mta-sts.tecnologica.com.ar i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 i:O = Digital Signature Trust Co., CN = DST Root CA X3 --- Server certificate -----BEGIN CERTIFICATE----- MIIFbTCCBFWgAwIBAgISBC7Vr1sblDEJHYgxBtfro6xcMA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA5MTgyMzM4MjdaFw0y MDEyMTcyMzM4MjdaMCUxIzAhBgNVBAMTGm10YS1zdHMudGVjbm9sb2dpY2EuY29t LmFyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5glA7vEmuS0EzKhn w9IfLPHHertYYOYx54t/2zr8G1pSmkCjrOlfV+YHwIuWeehxDUz/ezy1JXyK11kd raDd71MoBd9mV12fjITO99oDpkYu9g09TxJ9rpIEkU8LRGkgjfDGBBtf5X5Za+Ah gWbJ4JudVoykVZ00riQsZzbfJ8FNZcwEgErWCZCBL45tR7tfeFlXTJGFhyszqQN+ r4gS3C/JpsObIMaoqmkJrO5YUGcfGvqDOG3INthp2L9/t743OfYUGTqRFu09Rq5S xwEYxR8GksaLwzMWOIRelMP4W5F9ce7hhdxU68cK4j9rHXaaeNXLySeMs7K9C2vt p1nnowIDAQABo4ICcDCCAmwwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsG AQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQ1A7mXXvtb eS6ZYRtw4EA7WhJ3/zAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBv BggrBgEFBQcBAQRjMGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5s ZXRzZW5jcnlwdC5vcmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s ZXRzZW5jcnlwdC5vcmcvMCUGA1UdEQQeMByCGm10YS1zdHMudGVjbm9sb2dpY2Eu Y29tLmFyMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYI KwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBBQYKKwYBBAHW eQIEAgSB9gSB8wDxAHcA5xLysDd+GmL7jskMYYTx6ns3y1YdESZb8+DzS/JBVG4A AAF0o8xFcQAABAMASDBGAiEAlc3Q8FEkd5ZUayxVfeorQv9+Jt1OSgOOP+jqVw5K sskCIQCE0Hx7YDWcJ9o4Cck50WP7UtA/qRgmfn1fVIHyEZMftwB2AAe3XBvlfWj/ 8bDGHSMVx7rmV3xXlLdq7rxhOhpp06IcAAABdKPMRZcAAAQDAEcwRQIgBVUd9xxC DVX/kr0+308ra9YOqJC/yvBJnktxWg6YUVMCIQCR14/ouxc+Ydm4tePVBjBnmpRq QzQEDYrd+4R7JjpiCjANBgkqhkiG9w0BAQsFAAOCAQEAlCnRwvP7wNRHTzB5N9/N 2cBPuVxKbvf1rHwusXYzQBVlyM6grEvjTgd5V/C+we1ueDUp991tP3z5AAksIGWM /ssDlK0VSxv9PIzC1LxDK39Sl+P8xkuGj0zSDYg321sFjFyZLashP+xFYyzx3QdD 9h65J0uB/BigWOIN9sK1vLVhIB4yqV190vucyMamJBZ1dvSaYCi52dCgEEsAxM3v LksETYgpSqB4+6zB2ae3/FN2/m3vyWCdFv1fL19hIidKjwIYhIKVOLKTQCYvCd+p srhlTtnRf8i+P8Dni9xKmKSFwSGc8L+AS0AfTh6M/+IEPOO2zJsp1R/PBWgiy42v fw== -----END CERTIFICATE----- subject=CN = mta-sts.tecnologica.com.ar issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 --- No client certificate CA names sent Peer signing digest: SHA256 Peer signature type: RSA-PSS Server Temp Key: X25519, 253 bits --- SSL handshake has read 3203 bytes and written 403 bytes Verification: OK --- New, TLSv1.2, Cipher is ECDHE-RSA-CHACHA20-POLY1305 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-CHACHA20-POLY1305 Session-ID: 38FDD25BCB4C28F5364CA3418C05D13F279E62882E594190276850599BB67EAB Session-ID-ctx: Master-Key: 41AEF29EC1545AAE8C53958032EFF464E237232D8AA9D22CF9513297DFFBA40645226685FE58FEC782DA20CDFFEB5EDB PSK identity: None PSK identity hint: None SRP username: None TLS session ticket lifetime hint: 300 (seconds) TLS session ticket: 0000 - 5f 78 fa 6f 3a 54 9c c2-f0 8e b2 b7 70 13 05 d4 _x.o:T......p... 0010 - 4b 39 84 62 c7 cb 96 f8-89 5c 27 09 6c 2b aa ad K9.b.....\'.l+.. 0020 - 52 22 36 d6 a3 0b 8b 5e-ed 4b 78 f5 49 61 47 69 R"6....^.Kx.IaGi 0030 - c9 e7 41 88 c2 e6 29 86-b5 52 a9 8f 56 3f 79 3e ..A...)..R..V?y> 0040 - 14 bd b5 24 ca c5 f7 a4-ab b9 f9 26 dc 1c 71 7a ...$.......&..qz 0050 - ab 5a a2 a9 76 df 61 70-a5 91 5f 69 36 bc 64 69 .Z..v.ap.._i6.di 0060 - 02 b5 4b ba 79 e0 c9 a7-3b e2 a6 30 9b 2b 34 33 ..K.y...;..0.+43 0070 - 02 af 1e 3c 82 90 bc ca-32 b3 57 5b e0 b6 33 b0 ...<....2.W[..3. 0080 - a6 4c dc a8 c9 01 29 cf-98 ba 7c 40 3a ae 4b 04 .L....)...|#:.K. 0090 - 95 66 2f 96 b2 b9 5b f1-b0 f2 b0 6c e4 61 6f d0 .f/...[....l.ao. 00a0 - 98 a2 67 06 c9 22 ef a3-f5 ec 24 ac a2 b1 5f 4e ..g.."....$..._N Start Time: 1600571394 Timeout : 7200 (sec) Verify return code: 0 (ok) Extended master secret: yes --- GET /.well-known/mta-sts.txt HTTP/1.1 Host: venabili.tecnologica.com.ar HTTP/1.1 200 OK Server: nginx/1.14.2 Date: Sun, 20 Sep 2020 03:10:22 GMT Content-Type: text/plain Content-Length: 77 Last-Modified: Sat, 19 Sep 2020 14:07:46 GMT Connection: keep-alive ETag: "5f6610b2-4d" Accept-Ranges: bytes version: STSv1 mode: testing mx: venabili.tecnologica.com.ar max_age: 604800 ^C root#venabili:~# openssl s_client -starttls smtp -connect venabili.tecnologica.com.ar:587 -crlf -ign_eof CONNECTED(00000004) depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3 verify return:1 depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 verify return:1 depth=0 CN = venabili.tecnologica.com.ar verify return:1 --- Certificate chain 0 s:CN = venabili.tecnologica.com.ar i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 i:O = Digital Signature Trust Co., CN = DST Root CA X3 --- Server certificate -----BEGIN CERTIFICATE----- MIIFbzCCBFegAwIBAgISBAyLUnN1zyR0tAMF7k1G3023MA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA5MTgyMjMxMjZaFw0y MDEyMTcyMjMxMjZaMCYxJDAiBgNVBAMTG3ZlbmFiaWxpLnRlY25vbG9naWNhLmNv bS5hcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/svQH9FsoQZyGh krGZLrN3GAzwuAV2IEsYdAixVrVXGPPjA4oTxQDWncBPVh8x6nMstJqq4xP19aBr pw5P2rcsMvLT9RJ14wGuNzzDcx9uOmR709ZrPpPzZJ4JJnZxQP5dE2jJMrPQ7tnI 3AudscEaAMW8qBLj91jPDiv4LbRHL4xU+w46yZbB6szgb4u567SSKFaVlRQ8tmCt msIkYdA5mP5/1Z0QN6PgtAzCWECEkn/eRpuTUHliMjgCocwQ3RYkofGrNQ1a4H7F RgdaQzjCjQ7JdT/pZTYWrejr3alMsFAukRfIH/FMI5v8ojaxzlQOhz46WJiw3qNH rmjb+G0CAwEAAaOCAnEwggJtMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggr BgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU91GfsO41 iPZN1SROqwqnCPSN9yIwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEw bwYIKwYBBQUHAQEEYzBhMC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcC5pbnQteDMu bGV0c2VuY3J5cHQub3JnMC8GCCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQteDMu bGV0c2VuY3J5cHQub3JnLzAmBgNVHREEHzAdght2ZW5hYmlsaS50ZWNub2xvZ2lj YS5jb20uYXIwTAYDVR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAm BggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwggEFBgorBgEE AdZ5AgQCBIH2BIHzAPEAdwDnEvKwN34aYvuOyQxhhPHqezfLVh0RJlvz4PNL8kFU bgAAAXSjjusOAAAEAwBIMEYCIQDOwhtVW/tkJzexdCpcX2gLXX7axA8Fw4bDURrr tu/ecQIhAKpdzqz+iWGw9I7pkKfYNjyyLdWojRlT+IYQfR7qxQc4AHYAB7dcG+V9 aP/xsMYdIxXHuuZXfFeUt2ruvGE6GmnTohwAAAF0o47rMwAABAMARzBFAiBUUOSO S+8ueu2ACk+862qxbAsXylwZAfHhg/7HmEeEQQIhAKq3jqMMSIjTo47t2JXrU58d PP6E3NwNHOgGCNje4R/nMA0GCSqGSIb3DQEBCwUAA4IBAQAua/T4drS/7xpNmGDV Xp2iFhSaVsbWeHh5+40POEAy9NvaZ8O4CeNjV3NeV84QI2Jh1PjehebM72K85rCT 7jEOqaJY5vmKrLBVji6MsgryyGLm4Y368nMR3JrXDLUkATgart+jLdsxLbaRsI1t Gf+BLc6TYb4roGiI7TTjEQDAy2SOGqfOWbAEdVKIEr9P3IBrlOSOl2o8gd97PXQ/ vEmklVM/5zr5l5paInHOidBL8y8qVk2s9AkaQNAS2QTX5+iFl9D1u8z5mz49eKPb sb9GSFVTm/qe0KHl02qga4/1ANRoNCuKoaE5xxhqyboJwy58qp7opbzipqxbQI0T N8e/ -----END CERTIFICATE----- subject=CN = venabili.tecnologica.com.ar issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 --- No client certificate CA names sent Peer signing digest: SHA256 Peer signature type: RSA-PSS Server Temp Key: X25519, 253 bits --- SSL handshake has read 3389 bytes and written 432 bytes Verification: OK --- New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 Server public key is 2048 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) --- 250 CHUNKING --- Post-Handshake New Session Ticket arrived: SSL-Session: Protocol : TLSv1.3 Cipher : TLS_AES_256_GCM_SHA384 Session-ID: D8A0F5C48FBFE47FAEF6482AC696CBCAB01EB030F683053A41539DCD5B91E593 Session-ID-ctx: Resumption PSK: 3CACF3832764ACCF8A00FFDAFA9A8771E62C04FCDF1429A85EB2A3AC0F39733F642045E4602CE73F62AEC75745B51392 PSK identity: None PSK identity hint: None SRP username: None TLS session ticket lifetime hint: 7200 (seconds) TLS session ticket: 0000 - 30 00 51 89 4c df 15 62-da 50 55 37 92 60 65 f2 0.Q.L..b.PU7.`e. 0010 - 05 72 39 3d fb 1e 8a 05-2f 95 6b f0 cd 33 29 b0 .r9=..../.k..3). 0020 - b7 38 89 4f 2f 32 91 66-f7 59 2f 80 43 fc 81 f7 .8.O/2.f.Y/.C... 0030 - c6 53 68 3d d8 69 0d 10-6c 4c 62 9c 81 d9 ec 60 .Sh=.i..lLb....` 0040 - 9f ef a0 95 46 d3 e0 10-29 09 20 ab 48 3b 07 34 ....F...). .H;.4 0050 - 82 d3 0e 39 3d 11 18 e8-9e 44 b7 69 b9 d0 45 2e ...9=....D.i..E. 0060 - 97 4f da 69 aa 89 27 2c-e5 9c 63 39 4b f8 3f 54 .O.i..',..c9K.?T 0070 - 23 1a db 73 ac 7e 78 20-76 f5 67 b9 8f e1 c3 34 #..s.~x v.g....4 0080 - d7 f0 b5 0b 0d c7 dc 80-f6 40 0c 20 3f 8d 16 b7 .........#. ?... 0090 - 3a c2 e2 a9 c1 b6 fd 84-65 7f a5 1c 16 81 60 5a :.......e.....`Z 00a0 - 53 12 3a bf d0 4a 0c 0e-a2 3b 57 ce ad 63 89 e6 S.:..J...;W..c.. 00b0 - a7 58 ea 21 f9 2e 04 00-ff 6f a7 40 9d 2c bf 39 .X.!.....o.#.,.9 00c0 - 8d d9 19 c9 e1 05 a6 19-a4 60 06 75 8d 3e 95 89 .........`.u.>.. Start Time: 1600567929 Timeout : 7200 (sec) Verify return code: 0 (ok) Extended master secret: no Max Early Data: 0 --- read R BLOCK ehlo venabili.tecnologica.com.ar 250-venabili.tecnologica.com.ar 250-PIPELINING 250-SIZE 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250-SMTPUTF8 250 CHUNKING auth login 334 VXNlcm5hbWU6 bm8tcmVzcG9uZGVyQHRlY25vbG9naWNhLmNvbS5hcg== 334 UGFzc3dvcmQ6 !!! 235 2.7.0 Authentication successful mail from: no-responder#tecnologica.com.ar 250 2.1.0 Ok rcpt to: jmouriz#gmail.com 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> from: root <no-responder#tecnologica.com.ar> to: Juan Manuel Mouriz <jmouriz#gmail.com> subject: Mensaje de prueba Hola, este es un mensaje de prueba . 250 2.0.0 Ok: queued as 5E50844853 quit 221 2.0.0 Bye closed root#venabili:~# grep 5E50844853 /var/log/mail.log Sep 19 23:18:54 venabili postfix/submission/smtpd[7994]: 5E50844853: client=venabili.tecnologica.com.ar[200.69.236.179], sasl_method=login, sasl_username=no-responder#tecnologica.com.ar Sep 19 23:20:35 venabili postfix/cleanup[8543]: 5E50844853: message-id=<20200920021854.5E50844853#venabili.tecnologica.com.ar> Sep 19 23:20:35 venabili postfix/qmgr[5677]: 5E50844853: from=<no-responder#tecnologica.com.ar>, size=554, nrcpt=1 (queue active) Sep 19 23:20:35 venabili postfix/cleanup[8543]: 6F3BE4485D: message-id=<20200920021854.5E50844853#venabili.tecnologica.com.ar> Sep 19 23:20:35 venabili amavis[26666]: (26666-19) Passed CLEAN {RelayedOutbound}, ORIGINATING LOCAL [200.69.236.179]:55833 [200.69.236.179] <no-responder#tecnologica.com.ar> -> <jmouriz#gmail.com>, Queue-ID: 5E50844853, Message-ID: <20200920021854.5E50844853#venabili.tecnologica.com.ar>, mail_id: bcEyyqxUQvNK, Hits: -1, size: 554, queued_as: 6F3BE4485D, dkim_new=default:tecnologica.com.ar, 329 ms Sep 19 23:20:35 venabili postfix/smtp[8676]: 5E50844853: to=<jmouriz#gmail.com>, relay=127.0.0.1[127.0.0.1]:10026, delay=115, delays=115/0.02/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10027): 250 2.0.0 Ok: queued as 6F3BE4485D) Sep 19 23:20:35 venabili postfix/qmgr[5677]: 5E50844853: removed root#venabili:~# grep 6F3BE4485D /var/log/mail.log Sep 19 23:20:35 venabili postfix/smtpd[8679]: 6F3BE4485D: client=localhost[127.0.0.1] Sep 19 23:20:35 venabili postfix/cleanup[8543]: 6F3BE4485D: message-id=<20200920021854.5E50844853#venabili.tecnologica.com.ar> Sep 19 23:20:35 venabili postfix/qmgr[5677]: 6F3BE4485D: from=<no-responder#tecnologica.com.ar>, size=1625, nrcpt=1 (queue active) Sep 19 23:20:35 venabili amavis[26666]: (26666-19) Passed CLEAN {RelayedOutbound}, ORIGINATING LOCAL [200.69.236.179]:55833 [200.69.236.179] <no-responder#tecnologica.com.ar> -> <jmouriz#gmail.com>, Queue-ID: 5E50844853, Message-ID: <20200920021854.5E50844853#venabili.tecnologica.com.ar>, mail_id: bcEyyqxUQvNK, Hits: -1, size: 554, queued_as: 6F3BE4485D, dkim_new=default:tecnologica.com.ar, 329 ms Sep 19 23:20:35 venabili postfix/smtp[8676]: 5E50844853: to=<jmouriz#gmail.com>, relay=127.0.0.1[127.0.0.1]:10026, delay=115, delays=115/0.02/0.01/0.32, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10027): 250 2.0.0 Ok: queued as 6F3BE4485D) Sep 19 23:20:37 venabili postfix/smtp[8680]: 6F3BE4485D: to=<jmouriz#gmail.com>, relay=gmail-smtp-in.l.google.com[172.217.192.26]:25, delay=1.7, delays=0.02/0.02/0.88/0.8, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[172.217.192.26] said: 550-5.7.1 [200.69.236.179] The IP you're using to send mail is not authorized to 550-5.7.1 send email directly to our servers. Please use the SMTP relay at your 550-5.7.1 service provider instead. Learn more at 550 5.7.1 https://support.google.com/mail/?p=NotAuthorizedError a44si4686321qtk.87 - gsmtp (in reply to end of DATA command)) Sep 19 23:20:37 venabili postfix/bounce[8681]: 6F3BE4485D: sender non-delivery notification: 32EF64485E Sep 19 23:20:37 venabili postfix/qmgr[5677]: 6F3BE4485D: removed root#venabili:~# The domain in question is tecnologica.com.ar and I leave a link to some verifications where it is seen that the RR SPF, DKIM, DMARC, _SMTP._TLS, _MTA-STS, MTA-STS, CAA and PTR are correct and it is not a open relay: https://mxtoolbox.com/domain/tecnologica.com.ar The certificates are signed by Let's Encrypt. The host name matches the certificate. The classes are correct. And finally, I do not SPAM. I would greatly appreciate a help because at this point I am completely disoriented and can't find what else to do. I am not looking for a solution but rather where I can find it. Thank you very much for your help Additional info This is a report domain for DMARC: <?xml version="1.0" encoding="UTF-8" ?> <feedback> <report_metadata> <org_name>google.com</org_name> <email>noreply-dmarc-support#google.com</email> <extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info> <report_id>7762784093316082866</report_id> <date_range> <begin>1603756800</begin> <end>1603843199</end> </date_range> </report_metadata> <policy_published> <domain>tecnologica.com.ar</domain> <adkim>r</adkim> <aspf>r</aspf> <p>reject</p> <sp>reject</sp> <pct>100</pct> </policy_published> <record> <row> <source_ip>200.69.236.179</source_ip> <count>2</count> <policy_evaluated> <disposition>none</disposition> <dkim>pass</dkim> <spf>pass</spf> </policy_evaluated> </row> <identifiers> <header_from>tecnologica.com.ar</header_from> </identifiers> <auth_results> <dkim> <domain>tecnologica.com.ar</domain> <result>pass</result> <selector>default</selector> </dkim> <spf> <domain>tecnologica.com.ar</domain> <result>pass</result> </spf> </auth_results> </record> </feedback> And this is a report domain for TLS: {"organization-name":"Google Inc.","date-range":{"start-datetime":"2020-10-26T00:00:00Z","end-datetime":"2020-10-26T23:59:59Z"},"contact-info":"smtp-tls-reporting#google.com","report-id":"2020-10-26T00:00:00Z_tecnologica.com.ar","policies":[{"policy":{"policy-type":"sts","policy-string":["version: STSv1\r","mode: testing\r","mx: venabili.tecnologica.com.ar\r","max_age: 604800\r","\r"],"policy-domain":"tecnologica.com.ar"},"summary":{"total-successful-session-count":1,"total-failure-session-count":0}}]}
Wifi connection gets rejected with CTRL-EVENT-ASSOC-REJECT
This problem is with Ubuntu 16.04 running on a mobile device BQ E4.5. I have at home a Wifi AP (AVM FRITZ!Box WLAN 3170) and a bunch of Linux and FreeBSD laptops and 4 phones BQ E4.5 connected to it. All do fine, but since some month one of the E4.5 running the latest developer channel can not connect anymore to my AP. It started (IIRC) somewhere in December, first being unstable on connect and after some days it could not connect at all anymore. The connection is always rejected from the AP with a package CTRL-EVENT-ASSOC-REJECT (see debug log below). As this E4.5 is only my test device and as this can connect without any problem to all other AP, I mostly don't care. Really, I have not found any other AP, not in public, not in my office, to which the device can't connect. That's why I think the fault must be in the AP or in the radio environment in my house (I tested all channels), but as this AP does not offer any log for debugging, I can't debug this from this side. I managed to monitor and raised the debug level with wpa-cli in the E4.5 via "adb shell" and have here the log of one connection attempt. Is there any Wifi expert to see from the log why it gets rejected? Is this problem somewhere known in UBports or UBphone (Canonical) land? PS: Please don't think in AP's blacklist (as this AP hasn't one) or in invalid psk. I run Wifi for many years and know what I do :-) 1548368340.906062: wlan0: Starting AP scan for wildcard SSID 1548368340.906260: wlan0: Determining shared radio frequencies (max len 1) 1548368340.906338: wlan0: Shared frequencies (len=0): completed iteration 1548368340.906410: wlan0: Add radio work 'scan'#0xb8a29310 1548368340.906475: wlan0: First radio work item in the queue - schedule start immediately 1548368340.906584: wlan0: Starting radio work 'scan'#0xb8a29310 after 0.000099 second wait 1548368340.906834: wlan0: nl80211: scan request 1548368340.906930: nl80211: Scan SSID - hexdump_ascii(len=0): [NULL] 1548368340.908515: Scan requested (ret=0) - scan timeout 30 seconds 1548368340.908740: nl80211: Event message available 1548368340.908840: nl80211: Drv Event 33 (NL80211_CMD_TRIGGER_SCAN) received for wlan0 1548368340.908912: wlan0: nl80211: Scan trigger 1548368340.908981: wlan0: Event SCAN_STARTED (47) received 1548368340.909053: wlan0: Own scan request started a scan in 0.000342 seconds 1548368340.911945: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1 1548368341.325323: RTM_NEWLINK: ifi_index=10 ifname=wlan0 wext ifi_family=0 ifi_flags=0x1003 ([UP]) 1548368341.325791: RTM_NEWLINK: ifi_index=10 ifname=wlan0 wext ifi_family=0 ifi_flags=0x1003 ([UP]) 1548368341.325972: nl80211: Event message available 1548368341.326090: nl80211: Drv Event 34 (NL80211_CMD_NEW_SCAN_RESULTS) received for wlan0 1548368341.326164: wlan0: nl80211: New scan results available 1548368341.326226: nl80211: Scan probed for SSID '' 1548368341.326302: nl80211: Scan included frequencies: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472 1548368341.326366: wlan0: Event SCAN_RESULTS (3) received 1548368341.326436: wlan0: Scan completed in 0.417385 seconds 1548368341.327931: nl80211: Received scan results (6 BSSes) 1548368341.328181: wlan0: BSS: Start scan result update 17 1548368341.328675: BSS: last_scan_res_used=6/32 1548368341.328775: wlan0: New scan results available (own=1 ext=0) 1548368341.338042: WPS: AP[0] d4:21:22:e0:24:8b type=0 tries=0 last_attempt=-1 sec ago blacklist=0 1548368341.338203: WPS: AP[1] e0:28:6d:26:32:9d type=0 tries=0 last_attempt=-1 sec ago blacklist=0 1548368341.338272: WPS: AP[2] cc:ce:1e:b1:69:38 type=0 tries=0 last_attempt=-1 sec ago blacklist=0 1548368341.338334: WPS: AP[3] 10:b1:f8:fb:fb:38 type=0 tries=0 last_attempt=-1 sec ago blacklist=0 1548368341.338396: WPS: AP[4] 7c:ff:4d:7c:5c:29 type=0 tries=0 last_attempt=-1 sec ago blacklist=0 1548368341.338529: WPS: AP[5] 24:69:a5:5d:cb:5e type=0 tries=0 last_attempt=-1 sec ago blacklist=0 1548368341.338762: WPS: AP[6] 30:d3:2d:74:86:41 type=0 tries=0 last_attempt=-1 sec ago blacklist=0 1548368341.338873: wlan0: Radio work 'scan'#0xb8a29310 done in 0.432282 seconds 1548368341.338945: wlan0: Selecting BSS from priority group 0 1548368341.339039: wlan0: 0: 00:1c:4a:06:17:f5 ssid='tarara' wpa_ie_len=24 rsn_ie_len=20 caps=0x411 level=-42 1548368341.339112: wlan0: selected based on RSN IE 1548368341.339194: wlan0: selected BSS 00:1c:4a:06:17:f5 ssid='tarara' 1548368341.339303: wlan0: Considering connect request: reassociate: 0 selected: 00:1c:4a:06:17:f5 bssid: 00:00:00:00:00:00 pending: 00:00:00:00:00:00 wpa_state: SCANNING ssid=0xb8a28738 current_ssid=(nil) 1548368341.339377: wlan0: Request association with 00:1c:4a:06:17:f5 1548368341.339437: wlan0: Re-association to the same ESS 1548368341.339495: WPA: Unrecognized EAPOL-Key Key Data IE - hexdump(len=8): 00 06 74 61 72 61 72 61 1548368341.339565: WPA: Unrecognized EAPOL-Key Key Data IE - hexdump(len=3): 03 01 03 1548368341.339625: WPA: Unrecognized EAPOL-Key Key Data IE - hexdump(len=14): 05 0c 00 03 00 00 00 00 00 00 00 00 00 00 1548368341.339707: WPA: Unrecognized EAPOL-Key Key Data IE - hexdump(len=3): 2a 01 04 1548368341.339766: WPA: RSN IE in EAPOL-Key - hexdump(len=22): 30 14 01 00 00 0f ac 02 01 00 00 0f ac 04 01 00 00 0f ac 02 00 00 1548368341.339863: WPA: WPA IE in EAPOL-Key - hexdump(len=26): dd 18 00 50 f2 01 01 00 00 50 f2 02 01 00 00 50 f2 02 01 00 00 50 f2 02 00 00 1548368341.339981: wlan0: Add radio work 'connect'#0xb8a29310 1548368341.340044: wlan0: First radio work item in the queue - schedule start immediately 1548368341.340112: RSN: Ignored PMKID candidate without preauth flag 1548368341.340224: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1 1548368341.358253: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1/BSSs/7 1548368341.364150: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1/BSSs/19 1548368341.368290: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1/BSSs/20 1548368341.368562: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1/BSSs/1 1548368341.371943: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1/BSSs/2 1548368341.372207: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1/BSSs/6 1548368341.372566: wlan0: Starting radio work 'connect'#0xb8a29310 after 0.032518 second wait 1548368341.372608: wlan0: Trying to associate with SSID 'tarara' 1548368341.372638: wlan0: Cancelling scan request 1548368341.372667: wlan0: WPA: clearing own WPA/RSN IE 1548368341.372697: wlan0: Automatic auth_alg selection: 0x1 1548368341.372725: wlan0: Overriding auth_alg selection: 0x1 1548368341.372752: RSN: PMKSA cache search - network_ctx=0xb8a28738 try_opportunistic=0 1548368341.372778: RSN: Search for BSSID 00:1c:4a:06:17:f5 1548368341.372805: RSN: No PMKSA cache entry found 1548368341.372835: wlan0: RSN: using IEEE 802.11i/D9.0 1548368341.372868: wlan0: WPA: Selected cipher suites: group 8 pairwise 16 key_mgmt 2 proto 2 1548368341.372897: wlan0: WPA: Selected mgmt group cipher 32 1548368341.372923: WPA: set AP WPA IE - hexdump(len=26): dd 18 00 50 f2 01 01 00 00 50 f2 02 01 00 00 50 f2 02 01 00 00 50 f2 02 00 00 1548368341.372973: WPA: set AP RSN IE - hexdump(len=22): 30 14 01 00 00 0f ac 02 01 00 00 0f ac 04 01 00 00 0f ac 02 00 00 1548368341.373022: wlan0: WPA: using GTK TKIP 1548368341.373050: wlan0: WPA: using PTK CCMP 1548368341.373077: wlan0: WPA: using KEY_MGMT WPA-PSK 1548368341.373105: wlan0: WPA: not using MGMT group cipher 1548368341.373131: WPA: Set own WPA IE default - hexdump(len=22): 30 14 01 00 00 0f ac 02 01 00 00 0f ac 04 01 00 00 0f ac 02 00 00 1548368341.373288: wlan0: State: SCANNING -> ASSOCIATING 1548368341.373319: nl80211: Set wlan0 operstate 0->0 (DORMANT) 1548368341.373347: netlink: Operstate: ifindex=10 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT) 1548368341.373507: wlan0: set_disable_max_amsdu: -1 1548368341.373546: wlan0: set_ampdu_factor: -1 1548368341.373575: wlan0: set_ampdu_density: -1 1548368341.373603: wlan0: set_disable_ht40: 0 1548368341.373630: wlan0: set_disable_sgi: 0 1548368341.373658: wlan0: set_disable_ldpc: 0 1548368341.373688: wlan0: Determining shared radio frequencies (max len 1) 1548368341.373718: wlan0: Shared frequencies (len=0): completed iteration 1548368341.373744: nl80211: Set mode ifindex 10 iftype 2 (STATION) 1548368341.373848: nl80211: Unsubscribe mgmt frames handle 0x3029e831 (mode change) 1548368341.388203: nl80211: Subscribe to mgmt frames with non-AP handle 0xb8a160b8 1548368341.388312: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=040a 1548368341.388510: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=040b 1548368341.388617: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=040c 1548368341.388704: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=040d 1548368341.388789: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=090a 1548368341.388872: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=090b 1548368341.388955: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=090c 1548368341.389037: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=090d 1548368341.389120: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=0409506f9a09 1548368341.389204: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=7f506f9a09 1548368341.389285: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=0801 1548368341.389367: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=06 1548368341.389450: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=0a07 1548368341.389532: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=0a11 1548368341.389614: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=1101 1548368341.389695: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=1102 1548368341.389776: nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xb8a160b8 match=0505 1548368341.389868: nl80211: Key management set PSK 1548368341.389897: nl80211: Connect (ifindex=10) 1548368341.389929: * bssid_hint=00:1c:4a:06:17:f5 1548368341.389959: * freq_hint=2422 1548368341.389985: * SSID - hexdump_ascii(len=6): 74 61 72 61 72 61 tarara 1548368341.390044: * IEs - hexdump(len=22): 30 14 01 00 00 0f ac 02 01 00 00 0f ac 04 01 00 00 0f ac 02 00 00 1548368341.390090: * WPA Versions 0x2 1548368341.390115: * pairwise=0xfac04 1548368341.390139: * group=0xfac02 1548368341.390163: * akm=0xfac02 1548368341.390188: * htcaps - hexdump(len=26): 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1548368341.390236: * htcaps_mask - hexdump(len=26): 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1548368341.390286: * vhtcaps - hexdump(len=12): 00 00 00 00 00 00 00 00 00 00 00 00 1548368341.390321: * vhtcaps_mask - hexdump(len=12): 00 00 00 00 00 00 00 00 00 00 00 00 1548368341.390357: * Auth Type 0 1548368341.410056: nl80211: Connect request send successfully 1548368341.410178: wlan0: Setting authentication timeout: 10 sec 0 usec 1548368341.410219: EAPOL: External notification - EAP success=0 1548368341.410251: EAPOL: External notification - EAP fail=0 1548368341.410278: EAPOL: External notification - portControl=Auto 1548368341.410450: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1 1548368341.541040: nl80211: Event message available 1548368341.541434: nl80211: Drv Event 46 (NL80211_CMD_CONNECT) received for wlan0 1548368341.541556: nl80211: Connect event (status=1 ignore_next_local_disconnect=0) 1548368341.541637: wlan0: Event ASSOC_REJECT (13) received 1548368341.541719: wlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:1c:4a:06:17:f5 status_code=1 1548368341.541799: wlan0: Radio work 'connect'#0xb8a29310 done in 0.169226 seconds 1548368341.541860: Added BSSID 00:1c:4a:06:17:f5 into blacklist 1548368341.541925: Continuous association failures - consider temporary network disabling 1548368341.542001: wlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="tarara" auth_failures=2 duration=20 reason=CONN_FAILED 1548368341.542068: wlan0: Blacklist count 11 --> request scan in 10000 ms 1548368341.542134: wlan0: Setting scan request: 10.000000 sec 1548368341.542205: wlan0: State: ASSOCIATING -> DISCONNECTED 1548368341.542260: nl80211: Set wlan0 operstate 0->0 (DORMANT) 1548368341.542318: netlink: Operstate: ifindex=10 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT) 1548368341.543474: EAPOL: External notification - portEnabled=0 1548368341.543583: EAPOL: External notification - portValid=0 1548368341.543641: EAPOL: External notification - EAP success=0 1548368341.548586: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/1
Access point doesn't start with Raspberry Pi 3 built-in Wi-Fi
I have Raspberry Pi 3 and I use it as a Wi-Fi access point. I use Raspberry Pi 3 built-in Wi-Fi adapter for this. Until today, the access point worked. Today it stopped working. I think that Raspberry Pi crashed and I then turn the power off without shutting it down. Since then, it doesn't work. If I run it as service, the status will show running (exited). When I run it with sudo /usr/sbin/hostapd -dd /etc/hostapd/hostapd.conf, I get the following errors and it doesn't work: random: Trying to read entropy from /dev/random Configuration file: /etc/hostapd/hostapd.conf rfkill: initial event: idx=0 type=1 op=0 soft=0 hard=0 rfkill: initial event: idx=1 type=2 op=0 soft=0 hard=0 nl80211: Supported cipher 00-0f-ac:1 nl80211: Supported cipher 00-0f-ac:5 nl80211: Supported cipher 00-0f-ac:2 nl80211: Supported cipher 00-0f-ac:4 nl80211: Using driver-based off-channel TX nl80211: Supported vendor command: vendor_id=0x1018 subcmd=1 nl80211: Use separate P2P group interface (driver advertised support) nl80211: Enable multi-channel concurrent (driver advertised support) nl80211: use P2P_DEVICE support nl80211: interface wlan0 in phy phy0 nl80211: Set mode ifindex 3 iftype 3 (AP) nl80211: Setup AP(wlan0) - device_ap_sme=0 use_monitor=1 nl80211: Create interface iftype 6 (MONITOR) Failed to create interface mon.wlan0: -95 (Operation not supported) nl80211: Driver does not support monitor interface type - try to run without it nl80211: Enable Probe Request reporting nl_preq=0x1516038 nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0x1516038 match= nl80211: Register frame command failed (type=64): ret=-22 (Invalid argument) nl80211: Register frame match - hexdump(len=0): [NULL] nl80211: Failed to enable Probe Request frame reporting in AP mode nl80211: QCA vendor test command returned -95 (Operation not supported) nl80211: Add own interface ifindex 3 nl80211: if_indices[16]: 3 phy: phy0 BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits) wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE Previous country code SI, new country code SI nl80211: Regulatory information - country=SI (DFS-ETSI) nl80211: 2402-2482 # 40 MHz 20 mBm nl80211: 5170-5250 # 80 MHz 20 mBm nl80211: 5250-5330 # 80 MHz 20 mBm (DFS) nl80211: 5490-5710 # 160 MHz 27 mBm (DFS) nl80211: 57000-66000 # 2160 MHz 40 mBm nl80211: Added 802.11b mode based on 802.11g information Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=12 freq=2467 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=13 freq=2472 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=12 freq=2467 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=13 freq=2472 MHz max_tx_power=20 dBm Completing interface initialization Mode: IEEE 802.11g Channel: 11 Frequency: 2462 MHz DFS 0 channels required radar detection nl80211: Set freq 2462 (ht_enabled=0, vht_enabled=0, bandwidth=20 MHz, cf1=2462 MHz, cf2=0 MHz) * freq=2462 * vht_enabled=0 * ht_enabled=0 RATE[0] rate=10 flags=0x1 RATE[1] rate=20 flags=0x1 RATE[2] rate=55 flags=0x1 RATE[3] rate=110 flags=0x1 RATE[4] rate=60 flags=0x0 RATE[5] rate=90 flags=0x0 RATE[6] rate=120 flags=0x0 RATE[7] rate=180 flags=0x0 RATE[8] rate=240 flags=0x0 RATE[9] rate=360 flags=0x0 RATE[10] rate=480 flags=0x0 RATE[11] rate=540 flags=0x0 hostapd_setup_bss(hapd=0x15159a0 (wlan0), first=1) wlan0: Flushing old station entries nl80211: flush -> DEL_STATION wlan0 (all) nl80211: Station flush failed: ret=-14 (Bad address) wlan0: Could not connect to kernel driver wlan0: Deauthenticate all stations nl80211: sta_remove -> DEL_STATION wlan0 ff:ff:ff:ff:ff:ff --> -110 (Connection timed out) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=0 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=0) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=1 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=1) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=2 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=2) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=3 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=3) Using interface wlan0 with hwaddr b8:27:eb:e7:72:18 and ssid "RaspberryCar" Deriving WPA PSK based on passphrase SSID - hexdump_ascii(len=12): 52 61 73 70 62 65 72 72 79 43 61 72 RaspberryCar PSK (ASCII passphrase) - hexdump_ascii(len=16): [REMOVED] PSK (from passphrase) - hexdump(len=32): [REMOVED] random: Got 20/20 bytes from /dev/random Get randomness: len=32 entropy=0 GMK - hexdump(len=32): [REMOVED] Get randomness: len=32 entropy=0 Key Counter - hexdump(len=32): [REMOVED] WPA: Delay group state machine start until Beacon frames have been configured nl80211: Set beacon (beacon_set=0) nl80211: Beacon head - hexdump(len=63): 80 00 00 00 ff ff ff ff ff ff b8 27 eb e7 72 18 b8 27 eb e7 72 18 00 00 00 00 00 00 00 00 00 00 64 00 11 04 00 0c 52 61 73 70 62 65 72 72 79 43 61 72 01 08 82 84 8b 96 0c 12 18 24 03 01 0b nl80211: Beacon tail - hexdump(len=37): 2a 01 04 32 04 30 48 60 6c 30 14 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 00 0f ac 02 00 00 7f 04 00 00 00 02 nl80211: ifindex=3 nl80211: beacon_int=100 nl80211: dtim_period=2 nl80211: ssid - hexdump_ascii(len=12): 52 61 73 70 62 65 72 72 79 43 61 72 RaspberryCar * beacon_int=100 nl80211: hidden SSID not in use nl80211: privacy=1 nl80211: auth_algs=0x1 nl80211: wpa_version=0x2 nl80211: key_mgmt_suites=0x2 nl80211: pairwise_ciphers=0x18 nl80211: group_cipher=0x10 nl80211: beacon_ies - hexdump(len=6): 7f 04 00 00 00 02 nl80211: proberesp_ies - hexdump(len=6): 7f 04 00 00 00 02 nl80211: assocresp_ies - hexdump(len=6): 7f 04 00 00 00 02 nl80211: Beacon set failed: -110 (Connection timed out) Failed to set beacon parameters wlan0: Flushing old station entries nl80211: flush -> DEL_STATION wlan0 (all) nl80211: Station flush failed: ret=-14 (Bad address) wlan0: Could not connect to kernel driver wlan0: Deauthenticate all stations nl80211: sta_remove -> DEL_STATION wlan0 ff:ff:ff:ff:ff:ff --> -110 (Connection timed out) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=0 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=0) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=1 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=1) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=2 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=2) wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=3 set_tx=0 seq_len=0 key_len=0 nl80211: set_key failed; err=-22 Invalid argument) Failed to clear default encryption keys (ifname=wlan0 keyidx=3) hostapd_free_hapd_data(wlan0) Interface initialization failed wlan0: interface state COUNTRY_UPDATE->DISABLED wlan0: AP-DISABLED wlan0: Unable to setup interface. hostapd_interface_deinit_free(0x1514cd8) hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1 hostapd_interface_deinit(0x1514cd8) wlan0: interface state DISABLED->DISABLED hostapd_bss_deinit: deinit bss wlan0 wlan0: Deauthenticate all stations nl80211: sta_remove -> DEL_STATION wlan0 ff:ff:ff:ff:ff:ff --> -110 (Connection timed out) wlan0: AP-DISABLED hostapd_cleanup(hapd=0x15159a0 (wlan0)) hostapd_free_hapd_data: Interface wlan0 wasn't started hostapd_interface_deinit_free: driver=0xd8b84 drv_priv=0x1516328 -> hapd_deinit nl80211: deinit ifname=wlan0 disabled_11b_rates=0 nl80211: Remove monitor interface: refcount=0 nl80211: Remove beacon (ifindex=3) netlink: Operstate: ifindex=3 linkmode=0 (kernel-control), operstate=6 (IF_OPER_UP) hostapd_interface_free(0x1514cd8) hostapd_interface_free: free hapd 0x15159a0 hostapd_cleanup_iface(0x1514cd8) hostapd_cleanup_iface_partial(0x1514cd8) hostapd_cleanup_iface: free iface=0x1514cd8 This is my /etc/network/interfaces: # interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d allow-hotplug wlan0 iface wlan0 inet manual wireless-mode Master ### <--- It is same without this line This is my /etc/hostapd/hostapd.conf: interface=wlan0 driver=nl80211 ssid=RaspberryCar hw_mode=g channel=11 country_code=SI wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=password wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP And output of ifconfig: eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.64.127 netmask 255.255.255.0 broadcast 192.168.64.255 inet6 fe80::cc5e:510f:4686:fcb3 prefixlen 64 scopeid 0x20<link> ether b8:27:eb:b2:27:4d txqueuelen 1000 (Ethernet) RX packets 10883 bytes 709212 (692.5 KiB) RX errors 0 dropped 2 overruns 0 frame 0 TX packets 2471 bytes 500246 (488.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 800 bytes 55840 (54.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 800 bytes 55840 (54.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether b8:27:eb:e7:72:18 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Access point started working now, but I didn't change anything. Maybe there were some corrupted files, but the system repaired them after a few reboots. I also got answers on Raspberry Pi Forums by epoch1970. I don't know if they would fix the problem, but they are mostly about corrupted files, so they probably fix the problems.
MMC crash in windows 10
On my Windows 10, mmc.exe crashes when I try to add the certificate snap-in. When I click "Ok" after having added the snap-in (computer account, local computer) the message: "Microsoft Management Console has stopped working" and I am offered a debug option. There are no further error messages. I have tried to run "sfc /scannow" and found nothing to repair.
The MMC is crashing because of the SqlManager.dll from SQLServer 2014 RTM (2014.0120.2000.08 ((SQL14_RTM).140220-1924 )) ******************************************************************************* * * * Exception Analysis * * * ******************************************************************************* DUMP_CLASS: 2 DUMP_QUALIFIER: 400 CONTEXT: (.ecxr) rax=0000000000000000 rbx=0000000072f3df90 rcx=000000000000000a rdx=0000000072f3df90 rsi=0000000000000000 rdi=0000000080000010 rip=00007ffcb524a030 rsp=000000000f13ec18 rbp=000000001339d408 r8=000000000f13eb78 r9=000000001339d408 r10=0000000000000000 r11=000000000f13ebe0 r12=0000000000220a5e r13=0000000000000090 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl zr na po nc cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246 ntdll!RtlFailFast2: 00007ffc`b524a030 cd29 int 29h Resetting default scope FAULTING_IP: ntdll!RtlFailFast2+0 00007ffc`b524a030 cd29 int 29h EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 00007ffcb524a030 (ntdll!RtlFailFast2) ExceptionCode: c0000409 (Security check failure or stack buffer overrun) ExceptionFlags: 00000001 NumberParameters: 1 Parameter[0]: 000000000000000a Subcode: 0xa FAST_FAIL_GUARD_ICALL_CHECK_FAILURE PROBLEM_CLASSES: ID: [0n262] Type: [FAIL_FAST] Class: Primary Scope: DEFAULT_BUCKET_ID (Failure Bucket ID prefix) BUCKET_ID Name: Add Data: Omit PID: [Unspecified] TID: [Unspecified] Frame: [0] ID: [0n256] Type: [GUARD_ICALL_CHECK_FAILURE] Class: Addendum Scope: DEFAULT_BUCKET_ID (Failure Bucket ID prefix) BUCKET_ID Name: Add Data: Omit PID: [Unspecified] TID: [Unspecified] Frame: [0] ID: [0n92] Type: [AVRF] Class: Addendum Scope: DEFAULT_BUCKET_ID (Failure Bucket ID prefix) BUCKET_ID Name: Add Data: Omit PID: [0x3be8] TID: [0x3cf0] Frame: [0] : ntdll!RtlFailFast2 BUGCHECK_STR: FAIL_FAST_GUARD_ICALL_CHECK_FAILURE_AVRF DEFAULT_BUCKET_ID: FAIL_FAST_GUARD_ICALL_CHECK_FAILURE_AVRF PRIMARY_PROBLEM_CLASS: FAIL_FAST STACK_TEXT: 00 ntdll!RtlFailFast2 01 ntdll!RtlpHandleInvalidUserCallTarget 02 ntdll!LdrpHandleInvalidUserCallTarget 03 user32!UserCallWinProcCheckWow 04 user32!DispatchClientMessage 05 user32!_fnDWORD 06 ntdll!KiUserCallbackDispatcherContinue 07 win32u!NtUserDestroyWindow 08 SqlManager_72c70000!CEventRegWnd::~CEventRegWnd 09 SqlManager_72c70000!CRT_INIT 0a SqlManager_72c70000!CRT_INIT 0b verifier!AVrfpStandardDllEntryPointRoutine 0c ntdll!LdrpCallInitRoutine 0d ntdll!LdrpProcessDetachNode 0e ntdll!LdrpUnloadNode 0f ntdll!LdrpDecrementModuleLoadCountEx 10 ntdll!LdrUnloadDll 11 KERNELBASE!FreeLibrary 12 combase!CClassCache::CDllPathEntry::CFinishObject::Finish 13 combase!CClassCache::CFinishComposite::Finish 14 combase!CClassCache::CleanUpDllsForApartment 15 combase!CCCleanUpDllsForApartment 16 combase!FinishShutdown::__l2::<lambda_ac39365968346bea08de70a73a47183a>::operator() 17 combase!ObjectMethodExceptionHandlingAction<<lambda_ac39365968346bea08de70a73a47183a> > 18 combase!FinishShutdown 19 combase!ApartmentUninitialize 1a combase!wCoUninitialize 1b combase!CoUninitialize 1c verifier!AVrfpCoUninitialize 1d mmcndmgr!MMC21ADDREMOVEUI::CAboutInfoThread::ThreadProc 1e msvcrt!_callthreadstartex 1f msvcrt!_threadstartex 20 verifier!AVrfpStandardThreadFunction 21 kernel32!BaseThreadInitThunk 22 ntdll!RtlUserThreadStart So update the SQL Server to latest Service Pack and Update Hotfix Rollup. Import the uninstall .reg to disable dump creation and app verifier.
Alesis QS MIDI Sysex Data Conversion
My aim is to convert a stream of byte code sent from an Alesis synthesizer to a human readable format. I need to be able to take a "Program Dump" and read the 10 character string that makes up the patch name. In order to receive the "Program Dump" from the synth, I sent the synth the following command via MIDI-OX: F0 00 00 0E 0E 01 73 F7 I requested that it send me the dump for program 73. I received this: F0 00 00 0E 0E 00 73 00 60 24 0B 27 27 01 64 1E 19 19 05 23 19 1E 2A 41 0D 23 46 19 1E 06 00 47 0D 23 30 6C 18 63 30 6C 18 40 3F 0A 67 1B 16 20 40 00 60 18 00 18 06 05 0C 2B 41 13 70 05 30 40 31 63 70 05 00 40 31 63 70 05 00 40 31 63 00 4C 2A 51 00 46 7F 78 18 40 0F 40 31 40 31 04 30 0C 00 30 6C 03 30 3C 0F 00 00 05 0A 0F 14 19 1E 23 28 2D 72 00 76 34 3C 54 42 19 46 0C 33 3C 0C 00 0E 1B 46 60 58 31 46 61 58 31 00 7F 14 4E 37 6C 74 13 00 40 31 00 30 0C 0A 18 56 02 27 60 0B 60 00 63 46 61 0B 00 00 63 46 61 0B 00 00 63 46 01 18 55 22 01 0C 7F 71 31 00 1F 00 63 00 63 08 60 18 00 60 58 07 60 18 1E 00 00 0A 14 1E 28 32 3C 46 50 5A 64 01 0C 2D 15 29 05 36 0C 19 66 78 18 00 1C 36 0C 41 31 63 0C 43 31 63 00 7E 29 1C 6F 58 00 01 02 00 63 00 60 18 14 30 2C 05 4E 40 17 40 01 46 0D 43 17 00 00 46 0D 43 17 00 00 46 0D 03 30 2A 45 02 18 7E 63 63 00 3E 00 46 01 46 11 40 31 00 40 31 0F 40 71 3D 00 00 14 28 3C 50 64 78 0C 21 35 49 03 58 4C 71 31 1C 6C 18 32 4C 71 31 00 38 6C 18 02 63 46 19 06 63 46 01 7C 53 00 60 18 53 37 6C 70 0D 03 40 31 28 60 58 0A 1C 01 2F 00 03 0C 1B 06 2F 00 00 0C 1B 06 2F 00 00 0C 1B 06 60 54 0A 05 30 7C 47 47 01 7C 00 0C 03 0C 23 00 63 00 00 63 1E 3C 63 18 00 00 28 50 78 20 49 71 19 42 6A 12 07 F7 MIDI-OX told me that it received 408 bytes. This jives with the specification: "There are 400 data bytes sent for a single program dump, which corresponds to 350 bytes of program data. With the header, the total number of bytes transmitted with a program dump is 408. The location of each parameter within a program dump is shown in the next section." The "Program Dump" should be composed of these values: F0 00 00 0E 0E 00 <program#> <data> F7 That means the data should begin with "00 60" and end with "07 F7". Now I should be able to convert these 400 bytes to the "350 bytes of packed parameter data" for this program. Following the "Program Data Format", 10 digits of the program name should be located within the packed data somewhere. Patch 73 is called either "BlowDeTune" or "PanBristle", not totally sure if it starts at 0 or 1. So how do you go about make the conversion? Page 1 of the specification gives the transmission format, but I don't understand how to unpack it. Can anyone help? The Alesis QS MIDI Sysex Specification is here: http://www.midiworld.com/quadrasynth/qs_swlib/qs678r.pdf MIDI-OX can be found here: http://www.midiox.com/
You are lucky, because some years ago I played a bit with Midi (with my Atari ST 520) so I had enough interest in the topic to investigate a bit... For the record, I found the MIDI System Exclusive Message format, in accordance with the reference you give for your synth. I first thought the packing algorithm was described in this page, but after implementing its decoding and founding garbage, I saw I was wrong... I will give this code just in case it could be useful to you elsewhere... This first try was useful because when I re-read the spec in the PDF file, I understood the A7 to G0 symbols were actually bits... Data is "packed" because Midi non-control words must be 7bit clean (high bit always unset). They take 7 bytes of raw data, see it as a big word of 56 bits, and split that word every 7 bits, leaving the high bit always at 0: Original data (using a different notation): 0 - b07 b06 b05 b04 b03 b02 b01 b00 1 - b17 b16 b15 b14 b13 b12 b11 b10 2 - b27 b26 b25 b24 b23 b22 b21 b20 3 - b37 b36 b35 b34 b33 b32 b31 b30 4 - b47 b46 b45 b44 b43 b42 b41 b40 5 - b57 b56 b55 b54 b53 b52 b51 b50 6 - b67 b66 b65 b64 b63 b62 b61 b60 Transmitted/encoded data: 0 - 0 b06 b05 b04 b03 b02 b01 b00 1 - 0 b15 b14 b13 b12 b11 b10 b07 2 - 0 b24 b23 b22 b21 b20 b17 b16 3 - 0 b33 b32 b31 b30 b27 b26 b25 4 - 0 b42 b41 b40 b37 b36 b35 b34 5 - 0 b51 b50 b47 b46 b45 b44 b43 6 - 0 b60 b57 b56 b55 b54 b53 b52 7 - 0 b67 b66 b65 b64 b63 b62 b61 So we have: 0 - 00000000 0x00 1 - 01100000 0x60 2 - 00100100 0x24 3 - 00001011 0x0B 4 - 00100111 0x27 5 - 00100111 0x27 6 - 00000001 0x01 7 - 01100100 0x64 0 - 00011110 0x1E 1 - 00011001 0x19 2 - 00011001 0x19 3 - 00000101 0x05 4 - 00100011 0x23 5 - 00011001 0x19 6 - 00011110 0x1E 7 - 00101010 0x2A and once decoded, we should have: 0 - 00000000 0x00 1 - 00110000 0x30 2 - 01101001 0x69 3 - 01110001 0x71 4 - 00111010 0x3A 5 - 00000101 0x05 6 - 11001000 0xC8 0 - 10011110 0x9E 1 - 01001100 0x4C 2 - 10100110 0xA6 3 - 00110000 0x30 4 - 11001010 0xCA 5 - 01111000 0x78 6 - 01010100 0x54 I believe I decoded correctly the data, but still have garbage (ie. non readable strings)... Perhaps you will see a logic error in my code, which might be a starting point anyway. I saw that MIDI-OX can be scripted with WSH, so I wrote a JS script which I ran with WSH, with output on console: var midiData = [ 0xF0, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x73, 0x00, 0x60, 0x24, 0x0B, 0x27, 0x27, 0x01, 0x64, 0x1E, 0x19, 0x19, 0x05, 0x23, 0x19, 0x1E, 0x2A, 0x41, 0x0D, 0x23, 0x46, 0x19, 0x1E, 0x06, 0x00, 0x47, 0x0D, 0x23, 0x30, 0x6C, 0x18, 0x63, 0x30, 0x6C, 0x18, 0x40, 0x3F, 0x0A, 0x67, 0x1B, 0x16, 0x20, 0x40, 0x00, 0x60, 0x18, 0x00, 0x18, 0x06, 0x05, 0x0C, 0x2B, 0x41, 0x13, 0x70, 0x05, 0x30, 0x40, 0x31, 0x63, 0x70, 0x05, 0x00, 0x40, 0x31, 0x63, 0x70, 0x05, 0x00, 0x40, 0x31, 0x63, 0x00, 0x4C, 0x2A, 0x51, 0x00, 0x46, 0x7F, 0x78, 0x18, 0x40, 0x0F, 0x40, 0x31, 0x40, 0x31, 0x04, 0x30, 0x0C, 0x00, 0x30, 0x6C, 0x03, 0x30, 0x3C, 0x0F, 0x00, 0x00, 0x05, 0x0A, 0x0F, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x2D, 0x72, 0x00, 0x76, 0x34, 0x3C, 0x54, 0x42, 0x19, 0x46, 0x0C, 0x33, 0x3C, 0x0C, 0x00, 0x0E, 0x1B, 0x46, 0x60, 0x58, 0x31, 0x46, 0x61, 0x58, 0x31, 0x00, 0x7F, 0x14, 0x4E, 0x37, 0x6C, 0x74, 0x13, 0x00, 0x40, 0x31, 0x00, 0x30, 0x0C, 0x0A, 0x18, 0x56, 0x02, 0x27, 0x60, 0x0B, 0x60, 0x00, 0x63, 0x46, 0x61, 0x0B, 0x00, 0x00, 0x63, 0x46, 0x61, 0x0B, 0x00, 0x00, 0x63, 0x46, 0x01, 0x18, 0x55, 0x22, 0x01, 0x0C, 0x7F, 0x71, 0x31, 0x00, 0x1F, 0x00, 0x63, 0x00, 0x63, 0x08, 0x60, 0x18, 0x00, 0x60, 0x58, 0x07, 0x60, 0x18, 0x1E, 0x00, 0x00, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64, 0x01, 0x0C, 0x2D, 0x15, 0x29, 0x05, 0x36, 0x0C, 0x19, 0x66, 0x78, 0x18, 0x00, 0x1C, 0x36, 0x0C, 0x41, 0x31, 0x63, 0x0C, 0x43, 0x31, 0x63, 0x00, 0x7E, 0x29, 0x1C, 0x6F, 0x58, 0x00, 0x01, 0x02, 0x00, 0x63, 0x00, 0x60, 0x18, 0x14, 0x30, 0x2C, 0x05, 0x4E, 0x40, 0x17, 0x40, 0x01, 0x46, 0x0D, 0x43, 0x17, 0x00, 0x00, 0x46, 0x0D, 0x43, 0x17, 0x00, 0x00, 0x46, 0x0D, 0x03, 0x30, 0x2A, 0x45, 0x02, 0x18, 0x7E, 0x63, 0x63, 0x00, 0x3E, 0x00, 0x46, 0x01, 0x46, 0x11, 0x40, 0x31, 0x00, 0x40, 0x31, 0x0F, 0x40, 0x71, 0x3D, 0x00, 0x00, 0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0x0C, 0x21, 0x35, 0x49, 0x03, 0x58, 0x4C, 0x71, 0x31, 0x1C, 0x6C, 0x18, 0x32, 0x4C, 0x71, 0x31, 0x00, 0x38, 0x6C, 0x18, 0x02, 0x63, 0x46, 0x19, 0x06, 0x63, 0x46, 0x01, 0x7C, 0x53, 0x00, 0x60, 0x18, 0x53, 0x37, 0x6C, 0x70, 0x0D, 0x03, 0x40, 0x31, 0x28, 0x60, 0x58, 0x0A, 0x1C, 0x01, 0x2F, 0x00, 0x03, 0x0C, 0x1B, 0x06, 0x2F, 0x00, 0x00, 0x0C, 0x1B, 0x06, 0x2F, 0x00, 0x00, 0x0C, 0x1B, 0x06, 0x60, 0x54, 0x0A, 0x05, 0x30, 0x7C, 0x47, 0x47, 0x01, 0x7C, 0x00, 0x0C, 0x03, 0x0C, 0x23, 0x00, 0x63, 0x00, 0x00, 0x63, 0x1E, 0x3C, 0x63, 0x18, 0x00, 0x00, 0x28, 0x50, 0x78, 0x20, 0x49, 0x71, 0x19, 0x42, 0x6A, 0x12, 0x07, 0xF7 ]; // Show original data DumpData(midiData, 16); var headerLength = 7; // Bytes to skip var resultData = new Array(); var decodedByteCount = 0; // Number of expanded bytes in result var cumulator = 0; var bitCount = 0; for (var i = headerLength; // Skip header i < midiData.length - 1; // Omit EOF i++) { var rank = (i - headerLength) % 8; // We split the data in runs of 8 bytes // We cumulate the bits of these runs (less the high bit) to make a big word of 56 bits /* cumulator |= midiData[i] << (7 * rank); if (rank == 7) // End of the run { // Split the cumulator in 7 bytes for (var j = 0; j < 7; j++) { var shift = 8 * j; var byte = (cumulator & (0xFF << shift)) >> shift; WScript.StdOut.Write(ByteToHex(byte) + ' '); resultData[decodedByteCount++] = byte; } cumulator = 0; // Reset the buffer } */ // Actually, we cannot do that, because JS' bit arithmetic seems to be limited to signed 32 bits! // So I get the bytes out as soon as they are complete. // Somehow, it is more elegant anyway (but reflects less the original algorithm). cumulator |= midiData[i] << bitCount; bitCount += 7; //~ WScript.StdOut.Write((i - 7) + ':' + ByteToHex(midiData[i]) + ' (' + bitCount + ') ' + DecimalToHex(cumulator) + '\n'); if (bitCount >= 8) { var byte = cumulator & 0xFF; bitCount -= 8; cumulator >>= 8; resultData[decodedByteCount++] = byte; //~ WScript.StdOut.Write((i - 7) + ':' + ByteToHex(midiData[i]) + ' (' + bitCount + ') ' + DecimalToHex(cumulator) + ' > ' + ByteToHex(byte) + '\n'); } } DumpData(resultData, 14); The utility routines: function DumpData(data, lineLength) { WScript.StdOut.Write("Found " + data.length + " bytes\n"); var txt = ''; for (var i = 0; i < data.length; i++) { var rd = data[i]; if (rd > 31) { txt += String.fromCharCode(rd); } else { txt += '.'; } WScript.StdOut.Write(ByteToHex(rd) + ' '); if ((i+1) % lineLength == 0) { WScript.StdOut.Write(' ' + txt + '\n'); txt = ''; } } WScript.StdOut.Write(' ' + txt + '\n'); } function NibbleToHex(halfByte) { return String.fromCharCode(halfByte < 10 ? halfByte + 48 : // 0 to 9 halfByte + 55); // A to F } function ByteToHex(dec) { var h = (dec & 0xF0) >> 4; var l = dec & 0x0F; return NibbleToHex(h) + NibbleToHex(l); } function DecimalToHex(dec) { var result = ''; do { result = ByteToHex(dec & 0xFF) + result; dec >>= 8; } while (dec > 0); return result; } Output: Found 350 bytes 00 30 69 71 3A 05 C8 9E 4C A6 30 CA 78 54 .0iq:.ÈL¦0ÊxT C1 C6 C8 98 F1 18 00 C7 C6 08 C6 C6 8C 61 ÁÆÈñ..ÇÆ.ÆÆa 6C 0C F0 A7 38 6F 2C 20 20 00 8C 01 60 0C l.ð§8o, ..`. 05 C6 2A 38 81 17 60 C0 D8 18 5E 00 00 63 .Æ*8.`ÀØ.^..c 63 78 01 00 8C 8D 01 4C 55 14 60 FC E3 31 cx...LU.`üã1 C0 07 30 06 8C 11 60 0C 00 8C 3D 80 F1 1E À.0..`..=ñ. 00 40 41 F1 A0 64 3C 23 54 4B 0E B0 D3 78 .#Añ d<#TK.°Óx 54 61 C6 C8 98 F1 18 00 C7 C6 08 C6 C6 8C TaÆÈñ..ÇÆ.ÆÆ 61 6C 0C F0 A7 38 6F 6C FA 04 00 8C 01 60 al.ð§8olú...` 0C 05 C6 2A 38 81 17 60 C0 D8 18 5E 00 00 ..Æ*8.`ÀØ.^.. 63 63 78 01 00 8C 8D 01 4C 55 14 60 FC E3 ccx...LU.`üã 31 C0 07 30 06 8C 11 60 0C 00 8C 3D 80 31 1À.0..`..=1 1E 00 40 41 F1 A0 64 3C 23 54 4B 0E 30 5A ..#Añ d<#TK.0Z 95 54 C1 C6 C8 98 F1 18 00 C7 C6 08 C6 C6 TÁÆÈñ..ÇÆ.ÆÆ 8C 61 6C 0C F0 A7 38 6F 2C 20 20 00 8C 01 al.ð§8o, .. 60 0C 05 C6 2A 38 81 17 60 C0 D8 18 5E 00 `..Æ*8.`ÀØ.^. 00 63 63 78 01 00 8C 8D 01 4C 55 14 60 FC .ccx...LU.`ü E3 31 C0 07 30 06 8C 11 60 0C 00 8C 3D 80 ã1À.0..`..= F1 1E 00 40 41 F1 A0 64 3C 23 54 4B 0E B0 ñ..#Añ d<#TK.° CC 78 8C C3 C6 C8 98 F1 18 00 C7 C6 08 C6 ÌxÃÆÈñ..ÇÆ.Æ C6 8C 61 6C 0C F0 A7 00 30 66 7A 63 C3 1B Æal.ð§.0fzcÃ. 03 60 0C 05 C6 2A 38 81 17 60 C0 D8 18 5E .`..Æ*8.`ÀØ.^ 00 00 63 63 78 01 00 8C 8D 01 4C 55 14 60 ..ccx...LU.` FC E3 31 C0 07 30 06 8C 11 60 0C 00 8C 3D üã1À.0..`..= BC 31 06 00 40 41 F1 A0 64 3C 23 54 4B 0E ¼1..#Añ d<#TK. And just in case, the other unpacking algorithm: // Here the 8 bits of 7 bytes of raw data are coded as 7 bytes of data stripped off of the high bit, // while the stripped bits are grouped in the first byte of the data run. // In other words, when we have a run of 8 bytes, the first one groups the high bits of the 7 next bytes. // Information found at http://crystal.apana.org.au/ghansper/midi_introduction/file_dump.html var headerLength = 7; var resultData = new Array(); var decodedByteCount = 0; // Number of expanded bytes in result var runCount = -1; // Number of runs in the encoded data for (var i = headerLength; // Skip header i < midiData.length - 1; // Omit EOF i++) { var rank = (i - headerLength) % 8; // We split the data in runs of 8 bytes if (rank == 0) // Start of the run { // Get the high bits var highBits = midiData[i]; runCount++; //~ WScript.StdOut.Write(runCount + ' > ' + (i - 7) + ' >> ' + ByteToHex(highBits) + '\n'); } else { resultData[decodedByteCount++] = midiData[i] | ((highBits & (1 << (7 - rank))) << rank); //~ WScript.StdOut.Write((i - 7) + ' >> ' + ByteToHex(midiData[i]) + ' > ' + //~ ByteToHex(midiData[i] | ((highBits & (1 << (7 - rank))) << rank)) + '\n'); } }
Thanks to your great work I came up with this as the pack algorithm. It seems that the Alesis uses the same schema as the Moog Voyager. packSysex : function(midiData) { var header = [0xF0, 0x04, 0x01, 0x00, 0x03, 0x00]; //Voyager Single Preset Dump. var resultData = new Array(); var packedByteCount = 0; var bitCount = 0; var thisByte; var packedByte; var nextByte = 0x0; for (var i = 0; i <= midiData.length; i++) { thisByte = midiData[i]; packedByte = ((thisByte << bitCount) | nextByte) & 0x7F; nextByte = midiData[i] >> (7-bitCount); resultData[packedByteCount++] = packedByte; bitCount++; if(bitCount >= 7) { bitCount = 0; //Fill last byte packedByte = nextByte & 0x7F; resultData[packedByteCount++] = packedByte; nextByte = 0x0; } } resultData[packedByteCount++] = 0xF7; resultData = header.concat(resultData); return resultData; },