whitequark[cis] changed the topic of #glasgow to: https://glasgow-embedded.org · digital interface explorer · https://www.crowdsupply.com/1bitsquared/glasgow · meetings Saturday 2200 UTC · code https://github.com/GlasgowEmbedded/glasgow · logs https://libera.irclog.whitequark.org/glasgow · matrix #glasgow-interface-explorer:matrix.org · discord https://1bitsquared.com/pages/chat
jstein has quit [Quit: quit]
<_whitenotifier> [glasgow] neuschaefer synchronize pull request #506: applet.interface.spi_serprog: New applet that implements the Flashrom Serprog protocol - https://github.com/GlasgowEmbedded/glasgow/pull/506
<_whitenotifier> [glasgow] neuschaefer synchronize pull request #506: applet.interface.spi_serprog: New applet that implements the Flashrom Serprog protocol - https://github.com/GlasgowEmbedded/glasgow/pull/506
jstein has joined #glasgow
<purdeaandrei[m]> I'm trying to run the "program-mec16xx" applet. I'm getting an error:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/qIgkQBwCAOrmFdObSeHMJlhn>)
<Wanda[cis]> huh.
<whitequark[cis]> I may have unintentionally committed it wrongly?
<whitequark[cis]> do you have one of those MEC16xx devices? that would be cool, cause I no longer have one
redstarcomrade has quit [Read error: Connection reset by peer]
<purdeaandrei[m]> I do, i bought a dead laptop, that I repaired (it had shorted capacitor on the main power rail, and a blown fuse), but after the repair I was greeted with a supervisor password. Online sources say that reading, erasing, and writing the chip gets rid of the supervisor password, cause it's supposed to be in a secure are that gets zeroed this way.
jstein has quit [Quit: quit]
<purdeaandrei[m]> it takes about 12 minutes to read 192 kilobytes, is that expected?
<purdeaandrei[m]> Read seems to have been successful , I read it out twice, and both times got the same binary
<purdeaandrei[m]> I then did an emergency-erase. That started up the fan at full speed.
<purdeaandrei[m]> Write is still going on, I think it's been running for 30 minutes now, still not done
<whitequark[cis]> purdeaandrei[m]: you might want to raise the JTAG frequency
<whitequark[cis]> try -f 2000
<whitequark[cis]> or -f 4000
<whitequark[cis]> purdeaandrei[m]: as expected
<purdeaandrei[m]> looks like emergency erase may be causing further commands to not work.
<purdeaandrei[m]> I just killed the write, and reran it in verbose mode
<purdeaandrei[m]> and it just sits waiting after D: g.applet.program.mec16xx: MEC16xx: halting CPU
<purdeaandrei[m]> I'll try to power cycle
<whitequark[cis]> that's interesting
<whitequark[cis]> which exact MEC device is it?
<purdeaandrei[m]> Schematic says MEC1663-WC_WFBGA144
<whitequark[cis]> oh, that's a different MEC device from what I've tested with
<whitequark[cis]> try finding the datasheet
<whitequark[cis]> you might need to be creative
<purdeaandrei[m]> I only found a short datasheet
<whitequark[cis]> try adjacent part numbers
<whitequark[cis]> programming algorithms are often similar
<purdeaandrei[m]> there's a 637-page datasheet for the MEC1632
<purdeaandrei[m]> after power cycle read works again
<purdeaandrei[m]> I'll try just writing, it looks like in the source code there's already some kind of erase built into write.
<purdeaandrei[m]> with -f 4000 reading takes 4 minutes and 43 seconds
<purdeaandrei[m]> with -f 8000 it fails
<whitequark[cis]> -f 5000 is the highest I'd expect to work
<whitequark[cis]> the JTAG primitive needs work
<purdeaandrei[m]> I think the emergency erase did nothing to the flash content
<purdeaandrei[m]> cause the read matches what I read before
<purdeaandrei[m]> write is failing:
<whitequark[cis]> it might not be implemented in that particular chip
<purdeaandrei[m]> emergency erase?
<whitequark[cis]> yea
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
nyanotech has quit [Quit: No Ping reply in 180 seconds.]
nyanotech has joined #glasgow
Stary has quit [Quit: ZNC - http://znc.in]
Fridtjof has quit [Quit: ZNC - http://znc.in]
Stary has joined #glasgow
Fridtjof has joined #glasgow
<purdeaandrei[m]> Looks to me like the original implementation of `Bitfield` back in 2018, that was first used with the mec applet, simply ignored incorrect field names. I imported that old code into python, and ran the following:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/iEdHzxhxtLNvEMvyzwzRFyTr>)
<purdeaandrei[m]> so that shows the original mec code never correctly halted the CPU
<whitequark[cis]> ouch
<purdeaandrei[m]> Also looks like the issue with writing is something simple. when I did the write, the erase succeeds, however the programming operation doesn't. But when I commented out the erase, the programming operation succeeds, I think it looks like we're just not waiting enough for the erase to get it back into an idle state.
<whitequark[cis]> quite possibly
<purdeaandrei[m]> Well, crap 😦 I wrote back the same data I read out (verified by reading again), and now the laptop's not starting up anymore 😦
<whitequark[cis]> interesting
<whitequark[cis]> fortunately you have the perfect tool to find out why :D
<purdeaandrei[m]> yeah, lol, just didn't think i'd end up debugging arc code 🙂
<whitequark[cis]> i wonder if it's arc code
<whitequark[cis]> so, it has a EEPROM
<whitequark[cis]> have you read or erased that?
<purdeaandrei[m]> I didn't touch it
<whitequark[cis]> i assume not, it seems independent from main memory
<purdeaandrei[m]> not even sure how to touch it
<whitequark[cis]> through the ARC core
<whitequark[cis]> hm
<whitequark[cis]> have you found that in the MEC1632 datasheet?
<whitequark[cis]> > To keep the EEPROM memory block secure, and to insure that the EC firmware is authorized to read its contents, the
<whitequark[cis]> EC firmware can use this password. The following code can be executed as part of the 4KB Boot Block portion of the
<whitequark[cis]> main flash array
<whitequark[cis]> this seems super relevant
<purdeaandrei[m]> I did somehow happen upon this passage
<whitequark[cis]> > The Emergency Mass Erase function, when invoked, erases the EEPROM as well as the Flash Memory Array
<purdeaandrei[m]> the laptop still booted after the emergency erase
<purdeaandrei[m]> the emergency erase which got the following command frozen
<purdeaandrei[m]> so I assume the emergency erase did nothing
<purdeaandrei[m]> hmm, but maybe that's exactly what I need
<purdeaandrei[m]> to erase the eeprom too
<whitequark[cis]> quite possibly, yes
<whitequark[cis]> it doesn't look hugely difficult to erase it
joerg has quit [Ping timeout: 260 seconds]
joerg has joined #glasgow
notgull has joined #glasgow
trh has quit [Quit: weg]
trh has joined #glasgow
notgull has quit [Ping timeout: 255 seconds]
notgull has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
notgull has quit [Ping timeout: 260 seconds]
viciouswinkle[m] has joined #glasgow
<viciouswinkle[m]> Can someone kindly let me know how i can change my shipping address? I contacted crowdsource but they told me to ask you guys
<viciouswinkle[m]> * Can someone kindly let me know how i can change my shipping address? I contacted crowd supply but they told me to ask you guys
<whitequark[cis]> esden: ^
esc_ctrl[m] has quit [Quit: Idle timeout reached: 172800s]
xyz[m] has quit [Quit: Idle timeout reached: 172800s]
redstarcomrade has joined #glasgow
ar-jan has joined #glasgow
<_whitenotifier-3> [libfx2] Planet911 commented on commit 82d154153f548b29b1be60f1c11d7a5bc102486d - https://github.com/whitequark/libfx2/commit/82d154153f548b29b1be60f1c11d7a5bc102486d#commitcomment-136425715
GNUmoon2 has quit [Ping timeout: 240 seconds]
redstarcomrade has quit [Read error: Connection reset by peer]
GNUmoon2 has joined #glasgow
Foxyloxy_ has joined #glasgow
Foxyloxy has quit [Read error: Connection reset by peer]
cr1901 has quit [Quit: Leaving]
cr1901 has joined #glasgow
<_whitenotifier-3> [glasgow] purdeaandrei opened pull request #507: F improvements for mec16xx - https://github.com/GlasgowEmbedded/glasgow/pull/507
<purdeaandrei[m]> Well, looks like eeprom wasn't password-protected, I could read it
<purdeaandrei[m]> anyway, erasing it didn't help
<purdeaandrei[m]> please see my PR above for a bunch of improvements
<purdeaandrei[m]> what still doesn't work for me is emergency erase
<purdeaandrei[m]> and I'm not sure why
<purdeaandrei[m]> one thing I'm thinking of is that maybe the procedure has to happen right as trst deasserts
<purdeaandrei[m]> so maybe I have to connect the trst line to the glasgow too
<purdeaandrei[m]> I may end up needing to do some arc reverse engineering after all 😦
<purdeaandrei[m]> anyway, not this week
GNUmoon2 has quit [Ping timeout: 240 seconds]
GNUmoon2 has joined #glasgow
grazianom[m] has joined #glasgow
<grazianom[m]> Can we get an update here? Will we ever see this ship?
modchatbot[m] has joined #glasgow
<modchatbot[m]> Last update from a few days ago
<grazianom[m]> Thank you. Isn't the product (hw design) done, though? Is it still the acquisition of parts that's holding it back?
<grazianom[m]> And do you happen to know how early 'early bird' was? I backed in December 2020.
<grazianom[m]> I see I am not early bird from the update
<grazianom[m]> * ~~And do you happen to know how early 'early bird' was?~~ I backed in December 2020.
<modchatbot[m]> I am in the same boat as you (backed in Feb 2021). I think the design is finished or at least stable. It's the manufacturing part that's pending now. Someone just assembled their own Glasgows at home, so the components (or their substitutes) are likely available on the market: https://discord.com/channels/613131135903596547/613461005392936961/1193118660345221180
<grazianom[m]> OK cool. Here's to hoping it actually ships soon.
bvernoux has joined #glasgow
jstein has joined #glasgow
esden[m] has joined #glasgow
<esden[m]> That is odd. You have to change your shipping address with CrowdSupply though. This is from the cS documentation:
<esden[m]> Found here: https://www.crowdsupply.com/contact#:~:text=You%20can%20change%20your%20shipping,cancel%20and%20replace%20your%20order.
<esden[m]> > You can change your shipping address by going to your Crowd Supply account page, choosing the open order you want to change, and then clicking the "Update Shipping Address" button. We are unable to update billing addresses. If you must use a different billing address, please cancel and replace your order.
<esden[m]> s/cS/CS/
<nemanjan00[m]> Holy shit, I had no idea 1BitSquared is not profitable... Man, it is time to increase the prices... I think that would be better for both 1BitSquared and all of us... 😄 You can focus on products and we can have better experience...
<esden[m]> nemanjan00 (@_discord_268952761595461632:catircservices.org) There is a limit to that. I did increase them somewhat to account for the increased part prices and inflation overall. The issue is among others that I am not bringing new products on the market due to the overall backlog. The post campaign sales is what usually balances things out. But in this case I can't launch icebreaker-bitsy campaign until I get control over the Glasgow
<esden[m]> campaign, and I will not finish the Glasgow campaign if I go bankrupt, so I need to do consulting. (yeah it is a bit of a vicious cycle but we will get through it! 🙂 ) At the end it is all hinging on me not having enough hours in a day.
<esden[m]> I am at least slowly getting the situation with existing products under control and keeping them stocked. That was an issue for the longest time in itself.
<nemanjan00[m]> Your products are usually replacement for commercial products of 10x or 20x price of your products... And due to being opensource + quality accountability that comes with that, they are usually better in a lot of ways... I would be more than happy to pay a lot more for glasgow than what you charged...
<esden[m]> A lot of people have a certain price expectations. ("I can build it myself for less!" attitude) I try to charge what I think is fair and what I would be able/willing to pay. But you might be right that I am not charging enough. Things to consider in the future.
<modchatbot[m]> I wonder for some tim if "$364,196 raised of $25,000 goal", "1,456% Funded!" in the campaign made things easier or harder for you. Would it be more economically manageable with 25k of orders or 14x more?
<esden[m]> Not sure how much it would have helped with Glasgow to have the foresight. If I had foresight I would postpone the campaign until the chip shortage subsided. 😄
<modchatbot[m]> s/wonder/wondered/, s/tim/time/
galibert[m] has joined #glasgow
<galibert[m]> You'd have brought a ton of chips to resell them at a premium :-)
<nemanjan00[m]> Imagine if price was just 20$ higher...
<esden[m]> @galibert Great idea! 😄
<galibert[m]> but your crystal ball was in the shop, too bad
<esden[m]> I appreciate the concern and the thoughts. 🙂 The main thing I need to do is consistently put in few hours here and there to move things forward. And that is what I am doing.
<nemanjan00[m]> Even those who claim they can make it for less, probably will not... Let's be honest, nobody could have predicted the shortage, but, their solution was big margins, so they can compensate for unexpected...
<galibert[m]> And in any case raising the prices now wouldn't clear the backlog
<esden[m]> Yeah, I now have to finish eating the soup I cooked... that is the challenge that I am working on. 😄
<esden[m]> nemanjan00 (@_discord_268952761595461632:catircservices.org) lessons learned for future campaigns. 🙂
<purdeaandrei[m]> I found the bios update utility and extracted the MEC image from it and it 100% matches what I have dumped from the MEC (the file has an extra 32 bytes header but the actual image is all the same)
<purdeaandrei[m]> really not sure what could be wrong maybe I did something stupid, for example shorting something out as the glasgow was dangling around the laptop motherboard 🤷‍♂️
<modchatbot[m]> i found this, maybe it's helpful:
<modchatbot[m]> * i found this, maybe it's helpful:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/WzjrtTSZcBSdvbBkgsHZfjSY>)
helene has joined #glasgow
helene has quit [Remote host closed the connection]
helene has joined #glasgow
<whitequark[cis]> <purdeaandrei[m]> "one thing I'm thinking of is..." <- very unlikely
<whitequark[cis]> you could try doing a jtag reset (non trst) right before though, that should be equivalent for most ASICs
bvernoux has quit [Quit: Leaving]
Eli2| has joined #glasgow
Eli2_ has quit [Ping timeout: 260 seconds]
notgull has joined #glasgow
ar-jan has quit [Ping timeout: 264 seconds]
nafod8 has joined #glasgow
nafod has quit [Read error: Connection reset by peer]
nafod8 is now known as nafod
Wonka has quit [Ping timeout: 255 seconds]
Wonka has joined #glasgow
notgull has quit [Ping timeout: 276 seconds]