『1.8vのUEFI BIOSの書き換えについて&メモリコントローラについて』 の クチコミ掲示板

 >  >  > クチコミ掲示板

『1.8vのUEFI BIOSの書き換えについて&メモリコントローラについて』 のクチコミ掲示板

RSS


「マザーボード」のクチコミ掲示板に
マザーボードを新規書き込みマザーボードをヘルプ付 新規書き込み



ナイスクチコミ0

返信6

お気に入りに追加

解決済
標準

マザーボード

クチコミ投稿数:1010件 カカクコムを拠点にしてます 

書き換えられるのだろうか

USB Flash BIOS的な機能を持たないマザーボードで、1.8vのMX25U12873F M2I-10G(ROM)の内容を外部PCのパラレルポートから
書き換えようとして、最近やっと「できてる感」がしてきたのですが、これを「100%(99%でも良い)ちゃんと書き込みができて、市販されてるBIOS書き換えハードウェアと同じぐらいにまで品質をあげたい」と考えています。(外部PCのEPP ECP EPP+ECP SPP 全て使えました。古いから壊れてるかなと思いましたが)

電源回路には「ノイズ」が乗りやすいという話があり、この電源回路のGNDと、SPIの通信線に使う部分のGND(LPT portでいうと18番?25番)は一緒にしてはいけないという記述をされてる方も居ます(この辺よくわからない)。またGNDは全て一緒にまとめるべきと書いている人も居ます。

電源が3.3vの電源で
現在単純な抵抗の分圧回路で1.8vを作ってROMのVCCに流して、分圧回路のGND側をROMのGNDに繋いでいます
(LPT側のGNDとROM側のGNDとも結線)

回路は RayeR's homepage/Programming にある電圧レギュレーターを使っている部分を除けばほぼ同じです
分圧回路は
3.3v------(100R)---------------- ROM VCC
_________________ |
________________(120R)+何か*
GND______________|_____ROM GND

こんな感じです。 (*何か=電解コンデンサ+積層セラミックコンデンサ)
通信側は
BC547 2個の代わりに 東芝の2sc1815
https://pdf1.alldatasheet.jp/datasheet-pdf/view/212824/TOSHIBA/2SC1815.html
を2個使ってます。エミッタ\コレクタ\ベースの奴です。(なんで業界で統一されてないんだろ)

現在は分圧回路の面積が広すぎる雑な回路になってるので、これを短く、最短最小にする事と
通信の部分の4本(CS,SCLK,MISO,MOSI)の合計の長さが均等になるようにするつもりです。
抵抗は命令の出るLPT側のCS,MOSI, SCLK側のすぐ側に、ROM側のMISOに取り付けてます。(一応ヒートクリップ使用)
それとGNDはノイズ吸収効果があると言われているそうなので、通信線の回路の横、周囲にGNDから引っ張ってきた
謎の線で囲もうと思います。
後は電解コンデンサ+積層セラミックコンデンサを1.8vのROMから一番近い部分に取り付ける事で
より安定させられる?というのをどこかで見たと思うので、可能ならそれもやってみようかと
1.8vの線とSCLK,MOSI,CSをそれぞれシリコンダイオード(?)で接続するのは保護の役割があるそうですが
VCCから通信線側に電流が流れる事はあるのでしょうか? この3つはLPT側からROM側へ命令を送る時に使われますよね


*先にブレッドボードで試作してから100円基盤でハンダ付していくつもりです
*マザーボードは電源に繋いでいない CPUもメモリも何も刺さってない状態でやってます
*電気回路の専門知識はほぼ持ってません。独学で勝手に暴走や思い込んでる可能性が高いです
*使用ツールは windowsではspipgm linuxではflashromの * rayer_spi (for SPI flash ROMs attached to a RayeR parport based programmer) を利用。flashromは使い方わからないけど適当にあたって砕けろで乗り越えます。Windowsで成功したらflashromでもやります。

何かこうした方が良い、注意点、そもそも電気回路の知識が根本から間違ってるぞ、とかあれば教えて下さい。


書き換え使用マシン(愛機、というか生存機。他ことごとく壊れ(壊し)ました
化石PC G31M_ES2L(GIGABYTE)
Core 2 Quad 6600
Memory:4GB
HDD:500GB
GPU :GTX 650
LPT:onboard

回路のようなもの(完成品だが雑 特にハンダ。見せられるものではない)
分圧100R 120R
通信2kR(必要となる最適な抵抗値は計算で求められるそうですが、式が理解できてないのでまだ計算してない…RayeRさんの所では1kRになってます)
テスターで調べてわかったのですが、電気が来ていない時の「MX25U12873F」 のCSとCLKには10kΩほどの抵抗値がある。これはどう考えよう…

書き換えられるマザーボード MSI,AUSU,GIGABYTEの安物達

B350M MORTAR (今回の実験板 MX25U12873F M2I-10G)
B450M-A (本家のFlashツールで失敗したらルーペで見てデータシート参照して頑張る)
B450 AORUS M (そもそもBIOS書き換え失敗してもDualBIOSなのでなんの問題もない)

もう書き込んじゃってますが、これをする前に3度ほど/d=0 /d=1 /d=9 に変えて名前で分けてROM内容をダンプしています。(UUIDや製品の名称等の部分は書き換えられず、生きている事が確認できました)
元々起動不可なBIOSにしちゃったので(更新ミスというか新品電源5v(AntecのNEOECOとかいう坊や)が生死をさまよってた結果無茶苦茶に更新された)
消えるものが消えても痛くも痒くもないです。(ASRock、ASUS辺りはこの雑なやり方だと起動しないかも)
書き込んだ後に更にダンプを行い、書き込んだZen3対応βBIOS(シリアルやUUIDなしのデータ)と内容がどれぐらい同じか見てみようと思います。(100%ではないのは確定)

/*-----------*/ メモリコントローラーについて
ついでの質問ですが、B350MにRyzen 5 5600G を積んだ場合は搭載できるメモリの最大数が64GBから128GBになるという認識でいいですよね?(メモリコントローラがCPUにあるので、16GBitメモリモジュールにも対応できますよね?)

書込番号:25177110

ナイスクチコミ!0


返信する
クチコミ投稿数:1010件 カカクコムを拠点にしてます 

2023/03/12 10:19(1年以上前)

抵抗をROM付近に付けなければデータを読めないのだが、抵抗をつける事で以前よりも悪化してしまった
以前読めていたTo Be Filled By の部分が T e illed とかになってる

初期のブレッドボードで綺麗に組んだ時のがまだちゃんと読めていたみたいだ。(当時は電池3vが電源だった)
/i できちんと読み込めたのはたったの1度だけど

今は/i で出力されるけど初期のやつではその軌跡の1回だけだった
読めるって事は「きちんと返ってくる」って事だろうけど

SPIで書き込む人は業界の人か、そっち系の趣味の人ぐらいしかいないと思いますが(普通の人は深センから既存の機器を購入して線だけ繋げて回路も何も作らず、書き換える)

BIOS壊しちゃった人は一度でも良いのでチャレンジしてみて下さい。完全に成功したら画像つきで報告します

書込番号:25177920

ナイスクチコミ!0


クチコミ投稿数:1010件 カカクコムを拠点にしてます 

2023/05/03 01:19(1年以上前)

SPI側(EEPROM側、他のマザーボード側)--------------LPT port側(PC本体)
MISO(DO)--2kΩ-----------------------------------------------トランジスタ2個 ダーリントン接続---LPT PORT 10 ACK(MISO)
CS#--2kΩ-----------------------------------------------------LPT PORT 7 CS#
SCLK--2kΩ---------------------------------------------------LPT PORT 8 CLK
MOSI--2kΩ---------------------------------------------------LPT PORT 9 MOSI
GND-----------------------------------------------------------GND

*ケーブルの長さはGNDと信号線、電源等を均一にする事が良いらしい(抵抗などの長さも含める)
大体15cmほどです。

今の所書き込みができず、読み込み(ダンプ)は成功したものの、その後ベリファイで比較するとエラーが70-200程度出る
しかもコマンド実行後すぐの時限られたアドレス空間にて必ず発生。
ダーリントンは0.5usのトランジスタの応答時間(立ち上がり、蓄積、立ち下がりの時間)が1.5usになるそうなのですが、コレを利用しない限りROM側からLPTポート側に通信ができないんですよね。確か。

電源電圧は今は分圧でやってますが、こちらは1.8vまで上げられず(100:120の並列回路の120側に繋いでます)
ROMの電源を接続したとたん1.50v付近まで落ちます
ROMを負荷とみなして120Ω-負荷の直列で1.80v前後でやってみたものの、ノイズまみれでエラーが増大したので止めました。
最後の手はマザーボード電源ON時の1.8v固定(ROM)があり、レベル変換回路の電源は3vのリチウムなり、5vの電源なりが使えるので、なんとかなりそうです。
なんとかならないのは書き込みが現在出来ないという点です。後は読み込みも前半部分ですね。
UUID,S/N等は正常に読み込めて、新しいβBIOSに書き込んで準備完了です。

中華製のBIOS書き換え道具がなくても「書き換えられる」という証明をしたいので
もし「やってるよー」ってな人がいれば、参考程度に教えて下さい。(基本自力でなんとかします)

書込番号:25245509

ナイスクチコミ!0


クチコミ投稿数:1010件 カカクコムを拠点にしてます 

2023/05/19 21:32(1年以上前)

以前のケーブル

新作ケーブル

BIOS比較

分圧回路

トランジスターへの電源供給3.3vと、ROMへの電源供給2.0vを製造してる分圧回路へ電気を送り続ける電源Aがある。

パソコン(CH341Aやフラッシュプログラマ)の電源が電源Bとする

電源Aの「分圧回路」プラス極(VCC1.8v)のみ修復対象のマザーボードのROMに接続し、ROMのGNDは
電源A側のGNDではなく、電源B側で動いているパソコン内部のパラレルポートの信号をやり取りする
LPTポートのGNDにのみ接続する。 電源A側のGNDとはどことも接続しないでおく。

という、動くはずがないだろう的な状態にしてみた

なぜか知らないがフラッシュチップを認識。電源入ってない状態になるのではと思ったが
他の電源経由のGNDでも接続したら流れるものなのか?
GNDって他の回路のGNDでも電源の外側で最終的に繋がってれば(例えばコンセントで)どこでも良いのだろうか
繋がり方は行く先が電柱ではないというだけで、アース端子と同じ?

電圧を測ってみると分圧回路は問題無し、ただ2vちょっきりだったのが1.95vぐらいだった。一応どちらも0vが基準ではあるはずだけど

さて肝心なデータ。
エラーは 0x3e839 (256057) 中身はどうか。序盤、中盤すべてにおいて「きれい」だった
何の数かと言うと後半、途中から全てが「00」だった。どうやら例のLPTポートと基盤の接触不良で切断された模様
どうにかせねば・・・また端子購入してもハンダ載せるのが苦手で、また失敗したら25ピンを支えてる樹脂がとけてしまうのが怖い。樹脂につくと溶かさないと取れないんだが、溶かすと樹脂まで溶けるという・・・かといってベリリウム銅使ってる端子は危険過ぎて使いたくない。

エラー94(2.0v環境ではなく。1.49だか1.59ぐらいの正常動作電圧以下の環境)
という奇跡的数値を出した以前のデータ(yattemiru2v.com)と今回ダンプしたデータ(yattemiru6v.com)を比較。接触不良が起こらなければ
途中、ところどころに化けたデータが乗ることもなく、すごい綺麗だったので完全0エラーダンプが可能になると思う。

今までにないわかりやすい結果が出た
ケーブル新作して正解
今はこのケーブルにもう1つGNDを増やしてる。意味はないかも知れないが
電圧に関しては電源が3.3vの場合、60Ωと200Ωの直列回路に、200Ωを挟み込むように負荷を接続するとちょうど2vになってくれる。
詳しくは画像でどうぞ。

書込番号:25266605

ナイスクチコミ!0


クチコミ投稿数:1010件 カカクコムを拠点にしてます 

2023/05/19 21:45(1年以上前)

今の回路に近いやつ

ATX電源からの3.3vです

マザーボード

回路はこんな感じ。こうなるまでの道が凄く長かった。

電源の3.3vは別のATX電源から引っ張ってくる。

マザーボードへのケーブル接続はこんな感じになります。
ピン穴がサイズ合わなければベンチで少しずつ先を潰して平らにすれば
しっかりはめ込めます。メスピンはどっかの筐体についてたケーブルを外して付け替えてますが
接触さえすればOKなので

ダーリントントランジスターはGNDの部分になる「エミッター」を並べて、コレクタ、ベースの部分を接続して
残ったコレクタ、ベースにLPTからの線(10)とROM側の線を繋げてやればいいです。

抵抗は必ずROM側に付けて下さい。そうしないと必ずROM読み取りに失敗します
2kΩでもいいですが、何故か新作ケーブルの1.8kΩ推奨です。2.0v電圧の分圧回路を発見してから
2kΩのケーブル使わなくなりました ちょんぎったりして、凄く短くなってしまったので。
どちらでもいけると思いますけどね。トランジスタへの供給の抵抗は1.2kΩですが、ここはRayeRさんのページでは1.8kΩとなってます。RayerRさんのページでは3.3vではなく、3.6vから次第に下げていって良い所を見つけてね
という内容なので抵抗値が高いのだと思います。(多分

書込番号:25266622

ナイスクチコミ!0


クチコミ投稿数:1010件 カカクコムを拠点にしてます 

2023/05/21 11:28(1年以上前)

消去

読み書き消去はできましたが、書き込みの際に後半のアドレスから差異がみられました。(0xB4D120辺りから一気に)
1MByte分です。それなのに終わりの頃からまた正常な状態に戻ります。(謎)

数千、数十程度のエラーにしたい・・・。ここはRayeRさんの指示通り
ダメ元でトランジスター供給源の抵抗値を1.2kΩから1.8kΩに変更。そもそもこの1.2kΩは100-120Ωの初期の分圧回路用なので電圧が高くないんですよね。負荷繋げるだけでもう1.65v以下だったので(以下なので読み込みすら一部化け、書き込みや消去はできませんでした)

今は60Ω-200Ωの組み合わせに負荷(MX25U12873F)を接続して2.0v近くの電力を得ています。

残りの詳細はこちら
https://bbs.kakaku.com/bbs/K0000958574/SortID=20819996/
Springbokさんのやり方とは違いますが、オシロもなく、ハンダの経験もなく、自作回路という道のりを通じての書き換えだったので、絶望しながらではありますが、面白かったです。彼の情報がなければシリアル、UUIDなるものを知らずに
上書きしてしまっていたかもしれません。

RayeRさんの回路は電源は専用のレギュレーターを利用し、配線というほど長さもなく、ケーブルという物すらなく、ステンレス棒もなく()JSPI経由もせず直接ROMを基盤上にはめて、パラレルポートから書き込むというやり方なので終端抵抗の役割、中間抵抗の役割も果たしてそうで完璧に近い物ですが、その完璧に近いものに自分の身の回りにあるようなもので近付きたいのです。
過去の最高記録 エラー数74を超えるためにまだ続けるかも。 CPUによる立ち上げを行って、即CPU側で書き換えを行えばその後半のエラーも無かった事にはできるんですけどね。中華製書き換え使ってる人は多少エラーが出ても殆ど上書きで対処してると思います。

今はLPTポートとブレッドボードの接続は長くてまっすぐなステンレス棒に置き換えてます。(丸みを帯びるような人の手で90度に曲げるのはあまりというか全然良くないんですけどね・・・)
まげれば曲げるほど周期的に損失が発生するとか。
光ケーブルでも同じだけど、割れる割れないに関係なく、ある程度の曲げを行うと損失が発生するので
おそらく電気ケーブルも同じなのでしょう。
なので90度が1回程度しか混ざっていないRayeRさんの回路は理想的なのです。

0x1948e エラー数 約10万。トランジスタ供給の抵抗が1.8kΩでも一応動く事を確認。
そして「ohayou.rom」というファイルネームで今朝記録したダンプファイルと
1.8kΩに変更して、昨日から書き換えていないROMに対して「konnnichiwa.rom」としてダンプした結果

ohayou.romでは記録されていなかったデータが konnnichiwa.romでは記録されていた。(オリジナルROMにも記録されている内容)
書き込みがエラーなどで失敗していればこのような事は起きない。
つまり、読み込みに問題がある?
自分の回路を見た所、JSPI接続のところで90度に曲がって差し込まれてるGND線がある・・・原因これかなと思って
戻したが、エラー増加。0x349da

うーん、読み込みが異常だからベリファイもおかしくなるのはわかったが
これ以上は手の施しようがないかも知れない

書込番号:25268710

ナイスクチコミ!0


クチコミ投稿数:1010件 カカクコムを拠点にしてます 

2023/06/11 13:51(1年以上前)

初のエラー0大成功

ポイントはトランジスタとポートのGNDを分けて距離を置く事

回路の図

回路の図2

sudo flashrom --programmer rayer_spi -w B350M_E7A37AMS.1O6
flashrom v1.2 on Linux 5.15.0-73-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).(遅延ループに Clock_gettime を使用します (clk_id: 1、解像度: 1ns)。)
Using RayeR SPIPGM pinout.(RayeR SPIPGM ピン配置を使用します。rayer_spi で )
Found Macronix flash chip "MX25U12835F" (16384 kB, SPI) on rayer_spi.(Macronix フラッシュ チップ「MX25U12835F」(16384 kB、SPI) を発見しました。)
Reading old flash chip contents... done. (古いフラッシュ チップの内容の読み取り...完了。)
Erasing and writing flash chip... (フラッシュチップの消去と書き込み中...)
Warning: Chip content is identical to the requested image. (警告: チップの内容は要求されたイメージと同一です。)
Erase/write done.
名前@名前-G31M-ES2L:


エラー1つもなしで大成功
とりあえずこんな状態で成功しました。成功例の回路画像はFlashromさんに送っておきました。感動の嵐
BIOSをLPT(プリンタポート)で書き換えしたい人はこんなのでも成功します。要はGNDと接触不良、後は安定した電源
をできるだけ使って下さい、という事です。

分圧回路でもGND(の距離)さえちゃんとしてれば成功すると思いますが、ちょっと面倒なのでCR2032が手元にない人だけ分圧回路でやってみてください。

書込番号:25297160

ナイスクチコミ!0


クチコミ一覧を見る


価格.com Q&Aを見る

クチコミ掲示板検索



検索対象カテゴリ
を対象として
選び方ガイド

新着ピックアップリスト

ピックアップリストトップ

クチコミ掲示板ランキング

(パソコン)

ユーザー満足度ランキング