<set_>
I wish it was the Yocto one or the Driver one but it is not, sadly.
<set_>
Oh and if you use Pickle in python3, please do not. Skilled "attackers" can sadly get into your muck w/ arbitrary code.
<zmatt>
pickle is fine, you just shouldn't unpickle data from an untrusted source
<set_>
oh.
<zmatt>
but e.g. using pickle for locally stored data is fine
<set_>
I need to be more careful.
<set_>
Right!
<set_>
it is like a zip file or any other tar basically. It is really hard to be trusted these days.
<set_>
Not now, sort of, but security is really important. I am starting to realize it slowly.
jonezy777 has joined #beagle
jonezy777 has quit [Client Quit]
<set_>
Does anyone remember that security guy that ended up in jail, then died in the jail, and owned/started Mcaffey or whatever?
<set_>
I remember people in general being so overboard about the security and now they call it "darkweb" or something.
<set_>
Too many labels for things these days.
<set_>
Anyway, as creepy as the bad people doing bad things is currently (for whatever reason), sometimes some good Sunshine will help.
<set_>
Breathe freely!
brook has quit [Remote host closed the connection]
brook has joined #beagle
brook has quit [Ping timeout: 260 seconds]
brook has joined #beagle
vagrantc has quit [Quit: leaving]
starblue has quit [Ping timeout: 260 seconds]
starblue has joined #beagle
thinkfat has joined #beagle
thinkfat_ has quit [Ping timeout: 255 seconds]
jfsimon1981 has quit [Ping timeout: 272 seconds]
brook has quit [Remote host closed the connection]
brook has joined #beagle
brook has quit [Ping timeout: 260 seconds]
brook has joined #beagle
brook has quit [Remote host closed the connection]
jfsimon1981 has joined #beagle
jfsimon1981 has quit [Ping timeout: 272 seconds]
brook has joined #beagle
jfsimon1981 has joined #beagle
vigneshr has quit [*.net *.split]
paulbarker has quit [*.net *.split]
paulbarker has joined #beagle
vigneshr has joined #beagle
Shadyman has quit [Remote host closed the connection]
AKN has joined #beagle
_whitelogger has joined #beagle
x56_ has joined #beagle
AKN_R has joined #beagle
AKN has quit [Ping timeout: 272 seconds]
shoragan has quit [Ping timeout: 264 seconds]
shoragan has joined #beagle
SJFriedl has quit [Read error: Connection reset by peer]
SJFriedl has joined #beagle
AKN_R has quit [Ping timeout: 272 seconds]
ikarso has joined #beagle
otisolsen70 has joined #beagle
brook has quit [Remote host closed the connection]
brook has joined #beagle
brook has quit [Remote host closed the connection]
brook has joined #beagle
brook has quit [Ping timeout: 250 seconds]
GenTooMan has quit [Ping timeout: 264 seconds]
buzzmarshall has joined #beagle
GenTooMan has joined #beagle
ikarso has quit [Quit: Connection closed for inactivity]
brook has joined #beagle
xet7 has joined #beagle
xet7_ has joined #beagle
xet7_ has quit [Remote host closed the connection]
xet7 has quit [Quit: Leaving]
GenTooMan has quit [Ping timeout: 250 seconds]
GenTooMan has joined #beagle
vagrantc has joined #beagle
alfatau has joined #beagle
<alfatau>
hello everybody. I've a custom cape connected to the BBB. The BBB boots from emmc. My problem is that sometimes the emmc become corrupted, when the BBB is connected to the cape. If not conneted, no corruption happens. I've left P8 pins (sw id) 0-7, programmed as "default" MODE1 and pins (sw id) 32,33 programmed as "default" MODE2 - assigned to
<alfatau>
emmc. Should/Can I program these pins in a different way (e.g. GPIO) keeping the device bootable from emmc? Thank you in advance
<zmatt>
no, they need to be configured like that to be able to use emmc
<zmatt>
and the cape should not connect anything to those pins
<zmatt>
the only way I can think of how a cape might be able to cause emmc corruption is by having stuff connected to those pins.. even stub traces may affect signal integrity. although it's still a bit strange since eMMC communication is all CRC-protected
<zmatt>
you could try physically cutting those pins (P8.03-06 and P8.20-25) on the cape's connector
<alfatau>
thank you for you help. I also found a similar answer on the SRM (see pag. 96 "emmc conflict pins") but it mentions this: "DO NOT drive the eMMC pins until the eMMC has been put into reset. This means that if you choose to use these pins, they must not drive any signal until enabled via Software. This requires a buffer or some other form of hold
<alfatau>
off function enabled by a GPIO pin on the expansion header."
<alfatau>
In your opinion can I "protect" the emmc in some (software) way?
<alfatau>
zmatt: in fact I tried to phisically cut the p8 pins and the corruption problem disappears
<zmatt>
alfatau: that's talking about keeping the eMMC in reset to be able to use those lines for other purposes (something that was actually only possible with the old micron eMMC, not with current eMMC devices whose reset is merely edge-triggered)
<zmatt>
alfatau: if cutting the cape pins fixes the problem then that confirms your cape is negatively affecting the signal integrity of those lines... does your cape have any components or traces connected to these pins?
brook has quit [Remote host closed the connection]
<zmatt>
alfatau: and no, there's nothing you can do about this in software
<zmatt>
well, like I said the eMMC communication is CRC-protected so normally I'd expect sporadic errors to be detected and the transfer retried... but there's probably some limit on how many times the kernel retries a transfer, which I'm guessing must be happening to actually cause corruption. perhaps that retry limit could be increased as a partial workaround
<alfatau>
well, I'm going to cross-check but as far as I can remember all pins are connected to the BBB; the cape is based on an FPGA handling these pins but they should not actually be driven since they have been kept for future use. I don't remeber if they are left in tristate or pullup/down.
<zmatt>
alfatau: merely connecting them to an FPGA or anything else is the problem
<alfatau>
@@zmatt sure, but for me is not an elegant solution to phisically cut pins, maybe the solution could be to ask the cape developers to put pins on the cape side to pull-up or pull-down? I would like to understand how to electrically obtain the same condition of not having the cape connected...
<zmatt>
alfatau: the cape developers should have left these P8 pins not-connected
<zmatt>
having a stub trace attached to a high-speed communication line degrades the signal integrity of that line, and the longer that stub the worse this gets
<alfatau>
sure, but they decided to have these pins connected in order to be able to sw program the cape if needed in the future
<alfatau>
however, I understand what you say, thank you very much
<zmatt>
even having dead-end pcb traces (of sufficient length) attached to these pins would already be sufficient to cause problems
<zmatt>
having said that...
<zmatt>
if they're currently tristated on the FPGA, it's worth trying to make them pull-up instead, effectively weakly terminating the lines... but it will almost certainly not fix the problem
<zmatt>
(or conversely, if they're configured with pull-up or pull-down, make them high-Z instead)
<zmatt>
(they definitely shouldn't have pull-down)
<zmatt>
other than redesigning the cape, you may have no option but to physically cut the pins
<alfatau>
unfortunately it was exactly what I was worried...
<zmatt>
yeah, I'm sorry I don't have better news
<zmatt>
like I mentioned it might be possible to sort of work around this in software by just retrying more on CRC error or command timeout, but I'm not sure where in the kernel source you'd need to patch that, and of course it would just be an ugly workaround
<alfatau>
another confirmation, in order to avoid to waste other time: if I change the dts trying to program the emmc p8-pins as GPIO (in) the device will no longer boot from emmc. Then I should be able to only boot from microsd and I'll need to re-flash the firmware image to restore the boot from emmc capability. correct?
<zmatt>
correct, the kernel wouldn't be able to detect the eMMC
<zmatt>
or well, you don't need to reflash it per se, just boot from sd card then mount the emmc and undo your mistake :)
<alfatau>
ahah, thank you, i forgot that simpler way :)
<zmatt>
so the AM335x pins need to be configured for communication with the eMMC, and the P8 pins are essentially just snooping on the AM335x <-> eMMC communications
<zmatt>
(this was done for backwards compatibility with the original beaglebone white which had no eMMC... the idea being that you can still use these pins for gpio like you could on the beaglebone white as long as you keep the eMMC disabled)
brook has quit [Ping timeout: 276 seconds]
<alfatau>
thank you for your help
brook has joined #beagle
<zmatt>
alfatau: good luck!
otisolsen70 has quit [Read error: Connection reset by peer]